說(shuō)明
1、使用自定義的全局變量終止線程。終止方法比較溫柔,在拿到終止指令后,需要執(zhí)行完當(dāng)前的任務(wù)才會(huì)終止線程。
使用全局變量方式“終止說(shuō)話”后又有一次“正在說(shuō)話”。
2、全局變量控制線程終止會(huì)讓當(dāng)前任務(wù)結(jié)束后再進(jìn)行終止。
實(shí)例
public class ThreadDemo {
// 全局自定義變量
private static boolean flag = false;
public static void main(String[] args) throws InterruptedException {
// 轉(zhuǎn)賬線程
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("停止說(shuō)話");
}
});
t1.start();
Thread t2 = new Thread(new Runnable() {
@Override
public void run() {
try {
Thread.sleep(310);
} catch (InterruptedException e) {
e.printStackTrace();
}
// 改變變量的值來(lái)終止線程
System.out.println("停止說(shuō)話,有要事發(fā)生。");
flag = true;
}
});
t2.start();
t1.join(); //對(duì)于用戶線程而言,join()可以不寫
t2.join();
}
}
以上就是java中使用全局變量終止線程的方法,希望對(duì)大家有所幫助。更多關(guān)于“java培訓(xùn)”的問題,歡迎咨詢千鋒教育在線名師。千鋒教育多年辦學(xué),課程大綱緊跟企業(yè)需求,更科學(xué)更嚴(yán)謹(jǐn),每年培養(yǎng)泛IT人才近2萬(wàn)人。不論你是零基礎(chǔ)還是想提升,都可以找到適合的班型,千鋒教育隨時(shí)歡迎你來(lái)試聽。