据我所知,线程池(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