據我所知,線程池(java.util.concurrent.Executor類)爲池中的所有線程提供一個任務隊列。所以我不知道,哪個線程將執行我的任務。但我需要分配給每個線程的任務隊列。我該怎麼做?線程池中每個線程的隊列
0
A
回答
1
如果您只想要某些線程執行特定任務,那麼標準線程池將不適合。 但是你可以使用多個線程池,每個線程只有一個線程來解決你的問題。
1
您應該編寫程序,以便不需要知道哪個線程執行任務。他們只是匿名工作者線程。
但是,如果您確實想知道無論如何,您可以爲每個想要的線程創建單線程ExecutorService,然後您將知道哪個線程將執行任務。
+0
你是對的,但是在我的程序中,所有輸入都按特殊順序在工作人員之間分開,這就是爲什麼當我得到新輸入時,我決定由哪個工作人員執行它,然後將此輸入放入他的線程中。我明白,這真的不是一個好主意。我會盡量避免這個陷阱。感謝您的回答。 – notnavol
+0
@notnavol我會小心使用這種方式分割輸入。如果你把它切得太細,那麼最終可能會得到一個解決方案,其開銷是你正在執行的工作的10倍(甚至更多)。這可以使多線程解決方案比單線程解決方案慢得多。 –
相關問題
- 1. 隊列線程池
- 2. 帶線程池的Java線程隊列
- 3. 使用處理IO隊列的線程來提升線程池
- 4. 線程池中的線程
- 5. 消息隊列VS線程池
- 6. kibana:更改線程池隊列大小
- 7. 線程池中的排隊作業vb.net
- 8. 限制Python線程隊列中的線程,隊列
- 9. 如何創建多個線程池(即多個執行程序,每個線程池都有一個線程)
- 10. 提交一個隊列中的線程池
- 11. 帶線程的線程安全隊列
- 12. 一(大)的線程池每個應用的組分(更小)的線程池
- 13. 界隊列線程池中的線程沒有得到在JBoss關機
- 14. Python中的線程/隊列
- 15. 多線程 - 新線程vs線程池
- 16. 線程和隊列
- 17. Perl線程::隊列
- 18. Android線程隊列
- 19. 隊列和線程
- 20. 線程池最大線程
- 21. pthread退出線程池中的線程
- 22. 線程池中的活動線程號
- 23. 線程池中的線程狀態
- 24. 線程池中線程的可用性?
- 25. 終止線程池中的線程
- 26. 副本列表,池,線程設置(1:N)的/每個線程本地存儲
- 27. 在一個線程池管理線程
- 28. 如何使用Java中每個httprequest的線程池中的線程?
- 29. C++中的線程池和執行隊列11
- 30. 在java中管理線程池的隊列/工作者
爲什麼你關心哪個線程執行一個特定的任務,只要工作最終完成? – fge