More about project in the file. Using the POSIX library, rewrite the code for the threads, using semaphores to implement the necessary mutual
exclusion and synchronization. The solution must be deadlock-free and concurrency should not be unnecessarily
restricted