1. Engineering
  2. Computer Science
  3. programming in c pthreading...

Question: programming in c pthreading...

Question details

Programming in C, pthreading

Processes 1. Write a C program to create two child processes using pthread_create(). Create a global int while the second child process does the same, but decrements the same variable. Have the parent of the children wait for the two children to complete and then print the value of the variable 2. Run your program several times. Do you always see 0 as the result? Explain 3. Trace system calls used by your program using strace nameofyourexecutable (-c option gives a summary of system calls only) 4. Identify the system call responsible for creation of your child process. 5. Modify your program so that your child processes protect the global variable using pthread_mutex lock() and pthread mutex unlockO) 6. Run your program several times. Do you always see 0 as the result? Explain 7. Trace system calls used by your program using strace nameofyourexecutable (-c option gives a summary of system calls only) 8. Identify the system call responsible for locking and unlocking the mutex. 9. Submit your final program using a mutex on D2L Dont forget when writing pthread programs! include <pthread.h> To compile, add -Ipthread to the linker flags: gcc -lpthread-g <myfilename.c>

Solution by an expert tutor
Blurred Solution
This question has been solved
Subscribe to see this solution