Thread obsoleto Produttore e consumatore regolato da semafori

Stato
Discussione chiusa ad ulteriori risposte.

LoScroccone

Utente Assiduo
Autore del topic
26 Dicembre 2010
536
0
Miglior risposta
0
Ciao ragazzi come da titolo devo modificare il programma in modo che siano presenti due produttori e due consumatori: il primo produttore incrementa il dato di una sola unità mentre il secondo lo raddoppia e a video i consuamtori visualizzano oltre al valore letto anche il proprio nome.

Semaforo.java

Codice:
Perfavore, Entra oppure Registrati per vedere i codici!

ProdConsSem.java

Codice:
Perfavore, Entra oppure Registrati per vedere i codici!

produci.java

Codice:
Perfavore, Entra oppure Registrati per vedere i codici!

Consuma.java

Codice:
Perfavore, Entra oppure Registrati per vedere i codici!

Come faccio?
 
Ciao ragazzi come da titolo devo modificare il programma in modo che siano presenti due produttori e due consumatori: il primo produttore incrementa il dato di una sola unità mentre il secondo lo raddoppia e a video i consuamtori visualizzano oltre al valore letto anche il proprio nome.

Semaforo.java

Codice:
Perfavore, Entra oppure Registrati per vedere i codici!

ProdConsSem.java

Codice:
Perfavore, Entra oppure Registrati per vedere i codici!

produci.java

Codice:
Perfavore, Entra oppure Registrati per vedere i codici!

Consuma.java

Codice:
Perfavore, Entra oppure Registrati per vedere i codici!

Come faccio?


ah questa tpsit , partendo dal fatto che come l'hai usato quel semaforo sembra una specie di monitor , che tra l'altro non ha senso nemmeno di esistere, ogni oggetto in java dispone di un monitor implicito quindi basta usare semplicemente synchronized.
.
Creiamo prima la nostra risorsa condivisa, applicandoci il dovuto semaforo per l'accesso

Codice:
Perfavore, Entra oppure Registrati per vedere i codici!

Consumatore


Codice:
Perfavore, Entra oppure Registrati per vedere i codici!


Produttore

Codice:
Perfavore, Entra oppure Registrati per vedere i codici!


questa è la soluzione ottimale ,dato che usare Notify e wait in questo caso è sprecato, si usa per ben altro ^^.
Il Main a questo punto è facilissimo da implementare.
La logica rimane più o meno uguale se vuoi mantenere la classe "Semaforo"
N.b per caso usi il libro del hoepli di Paolo Camagni e Riccardo Nikolassy ?
 
Stato
Discussione chiusa ad ulteriori risposte.