多线程Java ThreadPoolExecutor关闭特定线程?
我正在编写我的系统编程课程作业(使用线程)
我的活动类实现runnable,我有另一个类,它的执行器使用:ThreadPoolExecutor e = (ThreadPoolExecutor) Executors.newFixedThreadPool(number);
执行该runnable
我有几个线程在该线程池中同时运行。我的问题如下:我可以选择知道一个线程何时完成了它的工作,关于它需要做什么,我如何关闭这个线程,以及-只有-这个线程,而不是整个执行器
# 1 楼答案
ThreadPoolExecutor
负责管理其线程,您无法访问它们,除非通过一些可能会破坏执行器的丑陋的黑客攻击。您应该使用API提供的配置选项,例如setKeepAliveTime
或接受keepAliveTime
的构造函数。将该值设置为零,您将自动获得所需的行为# 2 楼答案
如果我理解正确,你想要的是^{} 而不是
newFixedThreadPool
来自Java文档