java中如何停止(stop)一个线程

马克-to-win:java的官方文档说不要用stop方法来停止一个线程。因为stop方法太狠,太极端,会出现同步问题,使数据不一致。所以我们会通过设置标志,通过return, break,异常等手段来控制流程自然停止。

例:1.5.1-本章源码
class MyThreadMark_to_win extends Thread{
private boolean stop;
public void run() {
for (int i = 0; i < 100; i++) {
if (stop) {
System.out.println("退出了");
return;
}
try {
Thread.sleep(200);
} catch (Exception e) {
e.printStackTrace();

}
System.out.println("i = " + i);
}
}

public void setStop(boolean stop) {
this.stop = stop;
}
}

public class Test {
public static void main(String[] args) {
MyThreadMark_to_win mt = new MyThreadMark_to_win();
。。。。。。。。。。。。。。。。。
详情请进:http://www.mark-to-win.com/JavaBeginner/JavaBeginner6_web.html#StopThread

阅读更多
想对作者说点什么?

博主推荐

换一批

没有更多推荐了,返回首页