Quali vantaggi è possibile utilizzare gli esecutori tramite solo thread in un programma Java.Vantaggi degli esecutori rispetto alla nuova discussione
Come
ExecutorService pool = Executors.newFixedThreadPool(2);
void someMethod() {
//Thread
new Thread(new SomeRunnable()).start();
//vs
//Executor
pool.execute(new SomeRunnable());
}
Vuol un esecutore solo limitare il numero di thread che permette di avere in esecuzione in una sola volta (Thread Pooling)? In realtà esegue multiplex sui thread che crea invece? Se no, è solo un modo per evitare di dover scrivere ogni volta un nuovo Thread (eseguibile) .start()?
Hai letto la documentazione estesa e dettagliata? – SLaks
"* .. nelle applicazioni su larga scala, ha senso separare la gestione e la creazione dei thread dal resto dell'applicazione. Gli oggetti che incapsulano queste funzioni sono noti come esecutori. *" - [Origine] (http: // docs. oracle.com/javase/tutorial/essential/concurrency/executors.html) – mre
Nessuno ha ancora risposto "testing" - è molto più facile (e più veloce) testare con un'implementazione di ExecutorService che chiama semplicemente run() sul Runnable all'interno del thread corrente. (Anche se ovviamente vorrai testare anche gli aspetti concorrenti). Altre considerazioni sono; iniezione, contenitore gestito, configurabile e monitoraggio. – earcam