Question: The code shown below is compiled and executed. What does the created thread share with the parent thread (and all other threads in the same
The code shown below is compiled and executed. What does the created thread share with the parent thread (and all other threads in the same process)?

a. The created thread shares both the character array named "chars" and the integer array named "nums", because threads in the same process share the data segment in the process.
b. The created thread shares the character array named "chars" but not the integer array named "nums", because threads in the same process share the heap but each thread has its own stack.
c. The created thread shares both the character array named "chars" and the integer array named "nums", because threads in the same process share the heap in the process.
d. The created thread shares the character array named "chars" but not the integer array named "nums", because threads in the same process share the data segment but each thread has its own stack
typedef struct { int argi; char arg2; } args_t; int flag; void *thread func (void *arg) { args_t *args = (args_t *) arg; /* some lines of code here not shown */ return NULL; } int main() { pthread_t thr; args_t args = {100, 'z'}; char *chars = malloc (1024*sizeof(char)); int nums [1024]; for (int i=0; i
Step by Step Solution
There are 3 Steps involved in it
Get step-by-step solutions from verified subject matter experts
