W3Cschool
恭喜您成為首批注冊(cè)用戶(hù)
獲得88經(jīng)驗(yàn)值獎(jiǎng)勵(lì)
關(guān)鍵字volatile可以保持線(xiàn)程的工作內(nèi)存中的變量值與它們?cè)谥鞔鎯?chǔ)器中的值同步。
我們可以聲明一個(gè)變量volatile如下:
volatile boolean flag = true;
我們可以只聲明一個(gè)類(lèi)成員變量,實(shí)例或靜態(tài)字段,作為volatile。
我們可以使用volatile變量作為標(biāo)志來(lái)停止線(xiàn)程。
下面的代碼演示了volatile變量的使用。
public class Main extends Thread { private volatile boolean keepRunning = true; public void run() { System.out.println("Thread started"); while (keepRunning) { try { System.out.println("Going to sleep"); Thread.sleep(1000); } catch (InterruptedException e) { e.printStackTrace(); } } System.out.println("Thread stopped"); } public void stopThread() { this.keepRunning = false; } public static void main(String[] args) throws Exception{ Main v = new Main(); v.start(); Thread.sleep(3000); System.out.println("Going to set the stop flag to true"); v.stopThread(); } }
上面的代碼生成以下結(jié)果。
Copyright©2021 w3cschool編程獅|閩ICP備15016281號(hào)-3|閩公網(wǎng)安備35020302033924號(hào)
違法和不良信息舉報(bào)電話(huà):173-0602-2364|舉報(bào)郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號(hào)
聯(lián)系方式:
更多建議: