Esercizi Multithreading e Concorrenza in Java
Ecco degli esercizi con soluzione per praticare l’uso del multithreading e della concorrenza in Java.
Esercizio 1: Creazione di un Thread
Creare e avviare un thread estendendo la classe `Thread`.
Esercizio 2: Implementazione di Runnable
Creare e avviare un thread implementando l'interfaccia `Runnable`.
Esercizio 3: Sincronizzazione di un Blocco di Codice
Utilizzare la parola chiave `synchronized` per sincronizzare un metodo in una classe che implementa `Runnable`.
Esercizio 4: Uso di Callable
e Future
Creare un task utilizzando `Callable` e recuperare il risultato utilizzando `Future`.
Esercizio 5: Utilizzo di CountDownLatch
Utilizzare `CountDownLatch` per sincronizzare l'esecuzione di più thread.
Esercizio 6: Esecuzione Periodica con ScheduledExecutorService
Utilizzare `ScheduledExecutorService` per eseguire un task periodicamente.