Quando ho seguito il corso di programmazione in tempo reale e simultanea, il nostro docente ci ha detto che durante la scrittura di programmi concorrenti in Java e l'uso di monitor, la maggior parte della logica dovrebbe essere nel monitor e il meno possibile nei thread che vi accedono. Non ho mai veramente capito perché e mi piacerebbe davvero.
Lasciatemi chiarire.
In questo caso particolare abbiamo avuto diverse classi.
Lift extends Thread
Person extends Thread
LiftView
Monitor, all methods synchronized.
Questo non è niente che abbiamo pensato, il nostro compito era di implementare una simulazione di portanza con persone che aspettavano su piani diversi, e le tesi erano gli scheletri di classe che erano stati dati.
Quindi il nostro docente ha detto di implementare la maggior parte della logica nel monitor (stava parlando di class Monitor come monitor THE) e il meno possibile nei thread.
Perché dovrebbe fare una dichiarazione del genere?