Post

Visualizzazione dei post con l'etichetta schedule

ExecutorService: Eseguire Thread a gruppi di N

DOMANDA: Come posso schedulare i Thread affinché siano eseguiti a gruppi di N? RISPOSTA: Esiste un oggetto della classe java.util.Concurrent chiamato ExecutorService che risolve il problema in poche righe di codice. Vediamo un esempio in cui vogliamo svolgere dieci operazioni (ciascuna della durata di mezzo secondo)  eseguendole a gruppi di 2 . Classe Operazione : package executorservice; public class Operazione implements Runnable { private long id ;   public Operazione( long id) { this . id = id; } @Override public void run() { System. out .print( id + " " ); try { Thread.sleep(500); // mezzo secondo di pausa } catch (InterruptedException e) { e.printStackTrace(); } } } La classe di Test : package  executorservice; import java.util.concurrent.ExecutorService; import java.util.concurrent.Executors; public class TestConcurrent { public static void main(String[] args) {