Consider the following snippet of code for that uses threads…
Consider the following snippet of code for that uses threads to multiply both halves of an array. Are the two threads using separate memory allocation for their data? #include #include int data[] = {1, 2, 3, 4, 5, 6, 7, 8}; void* runner(void* param) { int val = (int)param; for(int i = val; i < val + 4; i++) data[i] *= 2; pthread_exit(0); } int main(int argc, char* argv[]) { pthread_t tids[2]; for(int i = 0; i < 2; i++) pthread_create(&tids[i], NULL, runner, (void*)(i*4)); for(int i = 0; i < 2; i++) pthread_join(tids[i], NULL); }
Read Details