首页 > 文章列表 > java中使用全局变量终止线程

java中使用全局变量终止线程

java 全局变量 线程
307 2022-08-06

说明

1、使用自定义的全局变量终止线程。终止方法比较温柔,在拿到终止指令后,需要执行完当前的任务才会终止线程。

使用全局变量方式“终止说话”后又有一次“正在说话”。

2、全局变量控制线程终止会让当前任务结束后再进行终止。

实例

public class ThreadDemo {
 
    // 全局自定义变量
    private static boolean flag = false;
 
    public static void main(String[] args) throws InterruptedException {
        // 转账线程
        Thread t1 = new Thread(new Runnable() {
            @Override
            public void run() {
                while (!flag) {
                    try {
                        Thread.sleep(100);
                    } catch (InterruptedException e) {
                        e.printStackTrace();
                    }
                    System.out.println("正在讲话...");
                }
                System.out.println("停止说话");
            }
        });
        t1.start();
 
        Thread t2 = new Thread(new Runnable() {
            @Override
            public void run() {
                try {
                    Thread.sleep(310);
                } catch (InterruptedException e) {
                    e.printStackTrace();
                }
                // 改变变量的值来终止线程
                System.out.println("停止说话,有要事发生。");
                flag = true;
            }
        });
        t2.start();
        t1.join(); //对于用户线程而言,join()可以不写
        t2.join();
    }
 
}

本教程操作环境:windows7系统、java10版,DELL G3电脑。