线程停止

2019-06-29  本文已影响0人  kanaSki
/**
 * 终止线程:
 * 1.线程正常执行完毕——>次数
 * 2.外部干涉——>加入标识
 * 不要使用stop、destroy
 */
public class TerminateThread implements Runnable {
    // 用于标记线程体是否能够运行
    private Boolean flag = true;
    private String name;

    public TerminateThread(String name) {
        this.name = name;
    }

    @Override
    public void run() {
        while (flag) {
            // 关联标识,true表示运行,false表示停止
            System.out.println(name);
        }
    }

    public void terminate() {
        this.flag = false;
    }

    public static void main(String[] args) {
        TerminateThread thread = new TerminateThread("name");
        new Thread(thread).start();
        for (int i = 0; i < 100; i++) {
            System.out.println("1");
        }
        thread.terminate();
    }
}

上一篇 下一篇

猜你喜欢

热点阅读