首頁  >  文章  >  Java  >  Java中如何使用全域變數終止執行緒?

Java中如何使用全域變數終止執行緒?

WBOY
WBOY轉載
2023-05-07 20:22:06960瀏覽

說明

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中文網其他相關文章!

陳述:
本文轉載於:yisu.com。如有侵權,請聯絡admin@php.cn刪除