The goal of this MP is to create a consumers/producers program using threads and semaphores in Linux,
and to get you to think about the notion of fairness in concurrent environments.
You will also learn how to use UNIX/LINUX man pages to learn about library functions.
Given functions such as pthread_create, pthread_exit, sem_init, sem_wait, sem_post, etc., you can type
to view details about the pthread_create function.
You should install (if you are using your own machine) manpages by running
sudo apt-get install manpages-dev
sudo apt-get install manpages-posix
sudo apt-get install manpages-posix-dev