Jawadok mówi, że usługa zwrócona przez Executors.newCachedThreadPool
ponownie używa wątków. Jak to jest możliwe? Wątek można uruchomić tylko raz, dzwoniąc pod numer start
. W jaki sposób go realizują? Wątki tej usługi działają w nieskończonej pętli, a ich Runnable
-s są wymieniane na żądanie?Jak newCachedThreadPool ponownie wykorzystuje wątki?
5
A
Odpowiedz
4
An Runnable może wywołać inny Runnable.
Każdy wątek ma tylko jeden główny runnable, ale Runnable pobiera Runnables z dzielonego BlockingQueue i wywołuje je, dopóki nie zostanie wyłączony.
Uproszczony to robi.
final BlockingQueue<Runnable> queue = ...
Runnable runs = new Runnable() { public void run() {
while(running)
queue.take().run();
}};
Możesz przeczytać kod, aby zobaczyć, jak to naprawdę działa.
Powiązane problemy
- 1. W jaki sposób JVM ponownie wykorzystuje internowane ciągi łańcuchowe?
- 2. Jak przerwać wątki ExecutorService?
- 3. Generowanie wykorzystuje w Netbeans
- 4. wykorzystuje zakres dynamiczny?
- 5. HashMap wykorzystuje LinkedList wewnętrznie
- 6. .NET wątki wątków i asynchroniczne wątki IO
- 7. Telephony.Sms.Inbox.PERSON wykorzystuje przestarzałe Contacts.People._ID
- 8. Zagnieżdżone wątki?
- 9. Jak mogę dławić wątki Pythona?
- 10. PyCharm - jak zawiesić wszystkie wątki
- 11. Jak mogę generować takie wątki?
- 12. Parallel.ForEach tworzy nowe wątki
- 13. Asynchroniczne delegatów kontra wątki
- 14. Eclipse PyDev wykorzystuje zdalny interpreter
- 15. Czy są to wątki bezpieczne?
- 16. Wątki z dekoratorami
- 17. Greenlet Vs. Wątki
- 18. bloki, wątki, warpSize
- 19. Podstawowe wątki w pytonie
- 20. Podstawowe wątki Java (4 wątki) są wolniejsze niż brak gwintowania.
- 21. Śledź wątki równoległe Foreach
- 22. Powiąż wątki z procesorami
- 23. rdzenie procesora a wątki
- 24. Dlaczego warto blokować wątki?
- 25. Twórz put-wątki
- 26. wątki Java w libgdx
- 27. Lekkie wątki w Akce
- 28. Dlaczego mój program gwintowany wykorzystuje tylko jeden procesor?
- 29. OpenMP i rdzenie/wątki
- 30. Wątki nie działają równolegle
Mogłem się domyślić ... podpis sugeruje również tę funkcję. – zeller