semaphore_assignment another multithreading assignment. In this one I used sempahores to implement a FIFO queue for a server-consumer model.