Jakie korzyści można uzyskać, używając Executorów zamiast samych wątków w programie Java.Zalety Executorów nad nowym wątkiem
Takie jak
ExecutorService pool = Executors.newFixedThreadPool(2);
void someMethod() {
//Thread
new Thread(new SomeRunnable()).start();
//vs
//Executor
pool.execute(new SomeRunnable());
}
Czy wykonawca testamentu tylko ograniczyć liczbę wątków Pozwala to mieć uruchomiony na raz (Pooling wątek)? Czy w rzeczywistości multipleksuje runnables na tworzone przez siebie wątki? Jeśli nie, to po prostu sposób na uniknięcie konieczności pisania za każdym razem nowego wątku (działającego) .start()?
Czy przeczytałeś obszerną i szczegółową dokumentację? – SLaks
"* w aplikacjach na dużą skalę sensowne jest oddzielenie zarządzania wątkami i tworzeniem od reszty aplikacji, a obiekty, które zawierają te funkcje, są zwane executorami. *" - [Źródło] (http: // docs. oracle.com/javase/tutorial/essential/concurrency/executors.html) – mre
Nikt jeszcze nie odpowiedział "testowanie" - o wiele łatwiej (i szybciej) przetestować ze skrótem implementacji ExecutorService, która po prostu wywołuje run() na Runnable w bieżącym wątku. (Chociaż oczywiście chciałbyś przetestować także współbieżne aspekty). Inne kwestie to; wtrysk, zarządzanie pojemnikiem, konfigurowanie i monitorowanie. – earcam