JAVA如何让一个线程死亡或结束
不推荐使用stop()方法终止线程。,因为stop()方法容易引起死锁。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30
| 1.
4. public class T { 5. public static void main(String[] args) { 6. 7. MyThread thread = new MyThread(); 8. new Thread(thread).start(); 9. 10. 11. 12. 13. 14. thread.allDone = true; 15. } 16. } 17. 18. class MyThread implements Runnable { 19. boolean **volatile** allDone = false; 20. 21. public void run() { 22. 23. 24. 25. while (!allDone) { 26. 27. } 28. } 29. }
|
使用 volatile 标识的变量具有线程可见性。当一个线程修改了这个变量的值,其他线程立即可以知道。所以可以避免多CPU出问题。