Ma infatti in questo non c'è nulla di preciso e predeterminato!!! L'unica cosa sicura e garantita è che lo start() pone il thread nello stato di "runnable" (che non vuol dire in esecuzione!!). Vuol dire che può essere "schedulato" per passare poi in "running" in base alle decisioni dello scheduler.Originariamente inviato da draghe
il problema è che questi tre processi non partono in contemporanea... (almeno così so io)
Con il codice sopra è anche possibile che il thread2 inizi la esecuzione prima ancora di thread1!!!
Non ci sono garanzie a questo livello. Se non il fatto che certamente prima o poi il run() del Runnable verrà invocato e proseguirà fino alla terminazione. Ma il "quando" e "per quanto" esattamente e precisamente non lo stabilisci tu.
Non fissarti su questa questione. Tra l'altro non vedo il problema: se i due thread partono uno leggermente dopo dell'altro, è questione di un tempo tipicamente piccolissimo. Quindi dal punto di vista concettuale li dovresti "vedere" come se partissero contemporaneamente. Perché a meno che mi dimostri che il tuo programma ha dei gravi problemi (e lo dubito fortemente) se partono con un leggero sfasamento .... direi che è una questione .... non questione.Originariamente inviato da draghe
è l'esercizio mi chiede di implementare un abitro coordina l'inizio del gioco garantendo che i giocatori possano iniziare il gioco contemporaneamente