我有一个包含可运行的线程。 我需要这个无限循环,除非用户取消。 我不知道如何去做这件事。所有的帮助非常感谢。 干杯。你如何循环线程?
Q
你如何循环线程?
4
A
回答
9
我需要这个无限循环,除非用户取消。
很明显,你可以轻松地添加里面的run()
方法的循环:
new Thread(new Runnable() {
public void run() {
while (true) {
// do something in the loop
}
}
}).start();
它总是一个好主意,检查线程中断:
new Thread(new Runnable() {
public void run() {
// loop until the thread is interrupted
while (!Thread.currentThread().isInterrupted()) {
// do something in the loop
}
}
}).start();
如果你问如何你可以从另一个线程(如UI线程)中取消一个线程操作,那么你可以这样做:
private final volatile running = true;
...
new Thread(new Runnable() {
public void run() {
while (running) {
// do something in the loop
}
}
}).start();
...
// later, in another thread, you can shut it down by setting running to false
running = false;
我们需要使用volatile boolean
,以便在另一个线程中看到一个线程中字段的更改。
相关问题
- 1. 如何循环线程
- 2. 你如何理解循环?
- 3. 你如何在for循环
- 4. 循环线程arraylist
- 5. 消息循环如何使用线程?
- 6. 如何终止循环/线程
- 7. 如何退出后台线程循环?
- 8. 如何让线程继续循环
- 9. 如何终止无限循环(线程)
- 10. 如何停止循环线程
- 11. C#多线程在for循环,如何检查所有线程
- 12. VB.net多线程循环,并行线程
- 13. 你如何循环查看ID的?
- 14. 你如何使用循环功能?
- 15. 你如何循环$ _FILES数组?
- 16. jqGrid你如何循环网格?
- 17. bash的while循环线程
- 18. 循环和线程创建
- 19. 多线程内循环
- 20. Java for循环线程
- 21. 无限循环多线程
- 22. time.sleep块while循环线程
- 23. C#TPL for循环 - 线程
- 24. CUDA线程和循环
- 25. Java:线程无限循环
- 26. 创建多线程循环
- 27. 游戏循环 - 线程
- 28. cuda线程在循环
- 29. 并行 - 线程?循环?
- 30. 同步循环线程
简单地运行一个循环很容易。但是您可能希望线程处理来自主线程的命令/工作项目,对吗?空闲时睡觉?当被告知时戒烟? – 2012-03-21 20:17:50