


Studia grazie alle numerose risorse presenti su Docsity
Guadagna punti aiutando altri studenti oppure acquistali con un piano Premium
Prepara i tuoi esami
Studia grazie alle numerose risorse presenti su Docsity
Prepara i tuoi esami con i documenti condivisi da studenti come te su Docsity
Trova i documenti specifici per gli esami della tua università
Preparati con lezioni e prove svolte basate sui programmi universitari!
Rispondi a reali domande d’esame e scopri la tua preparazione
Riassumi i tuoi documenti, fagli domande, convertili in quiz e mappe concettuali
Studia con prove svolte, tesine e consigli utili
Togliti ogni dubbio leggendo le risposte alle domande fatte da altri studenti come te
Esplora i documenti più scaricati per gli argomenti di studio più popolari
Ottieni i punti per scaricare
Guadagna punti aiutando altri studenti oppure acquistali con un piano Premium
esercizi sui THREAD IN JAVA da svolgere
Tipologia: Esercizi
1 / 4
Questa pagina non è visibile nell’anteprima
Non perderti parti importanti!



Esercizio 1 (3 punti): Il programma deve stampare badge identificativi per reparti di fabbrica. Crea una classe StampanteBadge che estende Thread. Il metodo run() deve eseguire 5 cicli stampando "Badge [nome reparto]: stampato" e fare dormire il thread per 800 millisecondi. Nel main, crea due Thread chiamati "Laminazione" e "Verniciatura" e avviali entrambi. Esercizio 2 (3 punti): Il programma deve verificare la qualità di lotti produttivi e controllare se avviene una interruzione. Crea una classe ControlloQualita che implementa Runnable. Il metodo run() deve usare ciclo for da 1 a 15 dove all'inizio controlla se il thread è stato interrotto e, se vero, stampa "Controllo lotti INTERROTTO" ed esce dal metodo run() terminando il thread, altrimenti " Controllo lotto X e fa dormire il thread per 1000 millisecondi. Nel main, crea 1 Thread, avvialo, fai dormire il main per 2000 millisecondi e chiama interrupt(). Esercizio 3 (4 punti): Il programma deve gestire tre macchine a controllo numerico CNC che producono pezzi industriali. Crea classe MacchinaCNC che implementa Runnable. Crea un attibuto statico intero pezziFiniti = 0. Nel metodo run(): crea un ciclo da 15 ripetizioni dove, se il thread non è stato interrotto, stampa a video : "Macchina " + il nome del thread + " produce pezzo #" + (pezziFiniti+1) Incrementa PezziFiniti e fai dormire thread per 1200ms Fai dormire inoltre solo il thread “CNC 3” per altri 2000ms Se il thread è stato interrotto stampa a video: “Emergenza- la macchina” + “nome della macchina” + “ha smesso di funzionare. Produzione interrotta” Nel metodo main: implementa 3 Thread "CNC1","CNC2","CNC3" fai dormire il main per 1000ms Interrompi solo il thread “CNC2” Stampa il valore finale di pezziFiniti Spiega nei commenti del codice cosa è una RACE CONDITION. COMPITO 2– CLASSE 4C - TPSI
Esercizio 1 (3 punti): Il programma deve inviare notifiche per due corsi universitari in parallelo. Crea una classe NotificaCorso che estende Thread. Il metodo run() deve eseguire 5 cicli stampando un messaggio del tipo "Invio notifica per il corso [nome corso]" e fare dormire il thread per 1000 millisecondi dopo ogni stampa. Nel main, crea due Thread chiamati "Matematica" e "Informatica" e avviali entrambi. Esercizio 2 (3 punti): Il programma deve correggere una serie di compiti scritti e controllare se avviene una interruzione del Thread durante la correzione. Crea una classe CorrezioneCompiti che implementa Runnable. Il metodo run() deve usare un ciclo for da 1 a 20 dove, all’inizio di ogni iterazione, controlla se il thread è stato interrotto e, se vero, stampa "Correzione INTERROTTA" ed esce dal metodo terminando il thread, altrimenti stampa "Sto correggendo il compito numero X" e fa dormire il thread per 700 millisecondi. Nel main, crea un Thread, avvialo, fai dormire il main per 2000 millisecondi e poi chiama interrupt() sul thread. Esercizio 3 (4 punti): Il programma deve conteggiare il numero totale di libri catalogati da tre postazioni in una biblioteca. Crea una classe CatalogoLibri che implementa Runnable. Crea un attributo statico intero libriCatalogati = 0. Nel metodo run(), crea un ciclo da 1 a 50 ripetizioni dove, se il thread non è stato interrotto, stampa un messaggio del tipo "Postazione + [nome thread] + ha catalogato il libro numero X", incrementa libriCatalogati e fa dormire il thread per 500 millisecondi; se il thread è stato interrotto, stampa a video un messaggio del tipo "La postazione”+ [nome thread] + “ha interrotto la catalogazione" ed esce dal metodo terminando il thread. Fai dormire inoltre solo il thread “Postazione3” per altri 2000ms Nel main, crea 3 Thread chiamati "Postazione1", "Postazione2" e "Postazione3", avviali, fai dormire il main per 2000 millisecondi, interrompi solo il thread "Postazione2" e infine stampa il valore finale di libriCatalogati. Spiega nei commenti del codice cosa è una RACE CONDITION. COMPITO 3 – classe 4C -TPSI Esercizio 1 (3 punti): Il programma deve simulare il monitoraggio del pit-stop di due squadre di formula 1. Crea una classe PitStopF1 che estende Thread. Il metodo run() deve eseguire 6 cicli stampando "Squadra [nome] cambia gomme" e fare dormire il thread per 1200 millisecondi.
Esercizio 2 (3 punti): Il programma deve monitorare il giro veloce di una monoposto F1 e verificare se il cronometrista interrompe la misurazione. Crea una classe GiroVeloceF1 che estende Thread. Il metodo run() deve usare un ciclo for da 1 a 12 dove all'inizio controlla se il thread è stato interrotto e, se vero, stampa "Misurazione giro” + numero del giro + “INTERROTTA” e termina il thread, altrimenti Numero del giro + “28.5s" e fa dormire il thread per 1500 millisecondi. Nel main, crea 1 Thread, avvialo, fai dormire il main per 4000 millisecondi e chiama interrupt(). Esercizio 3 (4 punti): Il programma deve gestire tre stazioni di rifornimento carburante F1 che contano i litri totali erogati. Crea una classe RifornimentoF1 che estende Thread. Crea un attributo statico intero litriTotali = 0. Nel metodo run(), crea un ciclo da 1 a 20 ripetizioni dove, se il thread non è stato interrotto, stampa "Stazione [nome thread] eroga litro numero X", incrementa litriTotali e fa dormire il thread per 300 millisecondi; se il thread è stato interrotto stampa "Stazione” + [nome stazione] + “ EMERGENZA SICUREZZA" ed esce terminando il thread. Fai dormire inoltre solo il thread “BoxFerrari” per altri 2000ms Nel main, crea 3 Thread "BoxFerrari", "BoxMcLaren", "BoxMercedes", avviali, fai dormire il main per 3000 millisecondi, interrompi solo il thread "BoxMcLaren" e stampa il valore finale di litriTotali. Spiega nei commenti del codice cosa è una RACE CONDITION. questo è il compito completo puoi controllare solo se è solo una questione di caratteri in meno tra i compiti 3 3 bis e tutti gli altri come confronto