salve cerco qualcuno che mi dia una mano con il seguente problema di multithreading che cerco di risolvere utilizzando i semafori di Dijkstra il problema è il seguente
Data una coda con capacità pari a N elementi scrivere una classe thread Produttore e una classe thread Consumatore che rispettivamente devono eseguire un numero fissato di inserimenti ed estrazioni dalla coda. Le operazioni sulla coda (inserimento e prelievo) devono avvenire sempre una alla volta e se, ovviamente, l'operazione è possibile. Inoltre, due operazioni di inserimento consecutive sulla coda non possono essere effettuate dallo stesso thread Produttore. Questo vincolo non vale per i thread Consumatore.
Scrivere una programma che crei un oggetto Coda inizialmente vuoto, tre oggetti Produttore e due oggetti Consumatore, ciascuno dei quali dovrà effettuare un certo numero di inserimenti ed estrazioni.
ringrazio chiunque possa darmi una mano