![]() |
1
14
简单的回答是:不要那样做。
整个要点 线程池 概念是你知道 不 尝试控制底层线程。等待池线程 . 线程池使线程保持在周围,因为建立线程是一个(相对)昂贵的操作。所以他们不会结束,但要活下去 其他 未来的工作。 这里真正的答案是:要么不要使用executor服务,要么寻找一个可以使用这个概念的解决方案(不需要你去做一些低级的事情)。 还有“真实”的答案:退后一步,告诉我们你打算用这种方式解决的“真实”问题。 |
![]() |
2
8
注意
Executor.execute()
解决方法很简单:
对于如何使用
|
![]() |
3
3
当你使用
您可以将代码更改为:
|
![]() |
4
1
您可以尝试打印线程名称:
|
![]() |
5
1
A) 当我们使用了newCachedThreadPool()时,这意味着我们需要一个ThreadPool服务。这意味着线程池服务将阻塞线程并执行您的任务(或命令)。不需要启动线程来执行任务,也不需要启动separate线程池。这是一种混乱的逻辑。 所以要么移除Threadpool并启动线程,要么移除线程并依赖于Threadpool。 B) 另外,我建议您使用调试。您可以调试并找到线程的状态(它应该是新的)。这将引导您进行更多的研究,最终您将看到ExecutorService execute()方法所期望的参数。 |
|
Ma Joonyoung · 粗粒度和细粒度链表的时间比较 1 年前 |
![]() |
user1700890 · 了解交互式代理Python API中的线程 2 年前 |
![]() |
AntonBoarf · 为什么要将实例变量指定给局部变量? 2 年前 |
![]() |
rhymes · 如何让线程操作相同的java列表 2 年前 |