/********************************************************************** File: producer_consumer.cc Description: A program that simulates a producer-consumer model with pthreads. Author: Dana Vrajitoru Organization: IUSB Date: September, 2020 Compilation command: g++ producer_consumer.cc main.cc -o prodc -lpthread Run with: prodc or ./prodc ***********************************************************************/ #include #include #include "producer_consumer.h" int main() { int nr_producers, nr_consumers, nr_items; srand(time(NULL)); Init_mutexes(); Input_data(nr_producers, nr_consumers, nr_items); pthread_t *threads = new pthread_t[nr_producers+nr_consumers]; Create_threads(threads, nr_producers, nr_consumers, nr_items); Synchronise(threads, nr_producers+nr_consumers); return 0; } /************************ Example of output *************************** Enter the number of producers 3 Enter the number of items for each producer 5 Consuming item 6 ****** Consuming item 4 **** Consuming item 3 *** Consuming item 2 ** Consuming item 7 ******* Consuming item 7 ******* Consuming item 5 ***** Consuming item 9 ********* Consuming item 7 ******* Consuming item 3 *** Consuming item 4 **** Consuming item 6 ****** Consuming item 3 *** Consuming item 3 *** Consuming item 6 ****** ***********************************************************************/