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 DetailsTrace the following program. As processes come into existenc…
Trace the following program. As processes come into existence, assume their IDs come from the following list: 2600, 2601, 2602, 2603, and so on. pid_t pid, pid1; pid = fork(); if (pid == 0) { pid1 = getpid(); printf(“@ A: pid = %d”, pid); printf(“@ B: pid = %d”, pid1); } else { pid1 = getpid(); printf(“@ C: pid1 = %d”, pid1); } From the program above, what PID will be displayed at line A?
Read Details