ExecutorService线程池中怎么去暂停和继续一个线程?

雪梦科技 发布于 2012/07/29 13:53
阅读 7K+
收藏 0

请问下,在使用ExecutorService线程池中。如果我想对提交的某个或者某几个线程进行暂停,中断,继续等操作,怎么做?

现在感觉把线程放到线程池就算了,等着执行结果。

加载中
0
szf
szf
在多线程的编程中(多种常见语言中),强烈不建议在外部线程对工作线程进行暂停,中断,继续操作,而应该在工作线程中通过相关条件自我控制。
1
逝水fox
逝水fox
向ExecutorService提交任务调用submit方法之后,返回值是个Future对象,可以使用这个对象的cancel方法来取消对应任务。如果任务还在等待队列中,会直接取消掉,而cancel的boolean值参数 mayInterruptIfRunning用于表示当任务已经开始执行时,是否需要尝试中断执行该任务的线程,个人是不建议中断,原因同楼上,详情请参考API文档。
1
雪梦科技
雪梦科技
感谢以上几位的回答。
0
PaulWong
PaulWong

那个是自己加代码控制的。

0
JoeyBlue
JoeyBlue
手动使用wait()进入等待,使用notify()或者notifyAll()方法唤醒等待的方法
返回顶部
顶部