Try switching the joins pthread_join(tid2, NULL); pthread_join(tid1, NULL); Do you see any difference? report if and why you do or do not see any difference in terms of the randomness in the result of the shared resource. In the inc_dec_resource() function, implement mutual exclusion (pthread_mutex_lock) to ensure that the result becomes 0 every time when you execute your program. Put your updated code in the report (highlighted) and show your screenshot of the execution by running the script three time using $ time ./shared_resource_mutex. Hint: Your loop is incrementing/decrementing the resource which should be protected by each thread while it is executing that portion. #include