Thread Java
Thread Java
CAMPANE 1
Realizzare utilizzando la programmazione concorrente un programma che utilizzando i Thread stampi a video il suono delle
campane e il numero di volte che suona.
c1.start();
c2.start();
c3.start();
CAMPANE 2
Thread din = new din();
Thread don = new don();
Thread dan = new dan();
din.start();
don.start();
dan.start();
t1.run();
t2.run();
GARA MACCHINE
Realizzare utilizzando la programmazione concorrente un programma che utilizzando i Thread stampi a video la simulazione di una
corsa di macchine. Immaginando di avere 5 macchine gareggiano, simulare l'arrivo al traguardo.
m1.start();
m2.start();
m3.start();
m4.start();
m5.start();
c1.start();
c2.start();
c3.start();
c4.start();
c5.start();
STAFFETTA
Simulare una gara a staffetta di 10 partecipanti con 10 step: a ogni step per simulare il cambio di persona modificare lo sleep (tra
200 e 1500) del singolo partecipante
p1.start();
p2.start();
p3.start();
p4.start();
p5.start();
p6.start();
p7.start();
p8.start();
p9.start();
p10.start();
THREAD - JAVA
GARA AUTO
Simulare una gara di 20 auto di 15 giri con 3 pitstop (al giro 3, giro 7 giro 12). Ad ogni giro modificare lo sleep (tra 200 e 1000) di
ogni auto ed a ogni pitstop aggiungere uno sleep (tra 1000 e 3000).
while (figlio.isAlive()) {
int i = 0;
i++;
System.out.println("Status (0)");
Thread.sleep(500);
System.out.println("Status ("+i+")");
System.out.println("Status down");
}
MERENDA
Realizzare un programma che simuli la corsa alla merenda dei tre nipoti di zio Paperino. I tre nipoti (i tre thread) dovranno simulare
la corsa avanzando di un valore casuale (un contatore che dovrà raggiungere il valore limite 100), mettendosi subito dopo in attesa
per un tempo casuale (si addormenteranno per un numero variabile di secondi) e, al risveglio, cederanno l'esecuzione ad un altro
nipote (thread). Il programma dovrà terminare quando uno dei nipoti avrà raggiunto la merenda, che dista dalla posizione di
partenza 100m. Basta che un solo nipote raggiunga o superi i 100m affinché l’intero programma termini.
N.B.: non utilizzare il metodo exit() per concludere la corsa, bensì si consiglia di utilizzare una variabile statica di classe di tipo
boolean che, a seconda del valore assunto, permetterà a tutti i nipoti di continuare o meno la corsa.