Concorrenza Java - Interfaccia esecutore
Un'interfaccia java.util.concurrent.Executor è una semplice interfaccia per supportare l'avvio di nuove attività.
Metodi ExecutorService
Sr.No. | Metodo e descrizione |
---|---|
1 | void execute(Runnable command) Esegue il comando dato in un momento futuro. |
Esempio
Il seguente programma TestThread mostra l'utilizzo dell'interfaccia Executor in un ambiente basato su thread.
import java.util.concurrent.Executor;
import java.util.concurrent.Executors;
import java.util.concurrent.ThreadPoolExecutor;
import java.util.concurrent.TimeUnit;
public class TestThread {
public static void main(final String[] arguments) throws InterruptedException {
Executor executor = Executors.newCachedThreadPool();
executor.execute(new Task());
ThreadPoolExecutor pool = (ThreadPoolExecutor)executor;
pool.shutdown();
}
static class Task implements Runnable {
public void run() {
try {
Long duration = (long) (Math.random() * 5);
System.out.println("Running Task!");
TimeUnit.SECONDS.sleep(duration);
System.out.println("Task Completed");
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
}
Questo produrrà il seguente risultato.
Produzione
Running Task!
Task Completed