Kirito ha scritto:
Si utilizano thread e monitor (cioè classi syncronized) di java per modellare tale realtà.
È chiaramente un esercizio sul multi-threading/concorrenza. Ma ti dico subito, detto molto in generale, che "modellare" con oggetti e thread delle "realtà" come quella citata (un Pronto Soccorso) non è mai proprio facile.
Comunque ti sono state date indicazioni un po' più precise sulle entità coinvolte e su quali metodi fare. E questo grosso modo va bene. Per quanto ho letto la cosa perlomeno "quadra" abbastanza. Secondo me però ci sono delle questioni che si dovrebbero chiarire o stabilire meglio.
Innanzitutto dovresti chiarire meglio le relazioni tra le classi.
Chi ha cosa e cosa invoca su chi. Tanto per dirne una: mi viene subito da pensare che ci debba essere solo 1 oggetto ProntoSoccorso e questo debba essere referenziato (quindi condiviso) sia dagli oggetti Paziente che dagli oggetti Medico.
Ma quale è la relazione con Sportello? Chi fornisce l'oggetto Sportello?
Inoltre: sia il paziente che il medico sono dei thread. Se il paziente invoca
salaAttesa, immagino che debba restare "bloccato" lì dentro fino a che succede qualcos'altro. Il medico invocherà
avantiAltro ma cosa deve succedere al paziente, che è un thread
differente?
Insomma ... c'è ancora da chiarire e valutare un po' ....