Java中如何使用全局变量终止线程?

WBOY
WBOY 转载
2023-05-07 20:22:06 511浏览

说明

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();
    }
 
}

以上就是Java中如何使用全局变量终止线程?的详细内容,更多请关注php中文网其它相关文章!

声明:本文转载于:亿速云,如有侵犯,请联系admin@php.cn删除