多執行緒基礎講解七 volatile關鍵字

2021-10-07 18:50:15 字數 797 閱讀 3571

首先volatile關鍵字有執行緒安全問題。

volatile有乙個專業術語:保證了可見性,不保證原子性。

首先不使用volatile關鍵字,看看有什麼效果 

public class notusevolatile implements runnable 

system.out.println("子執行緒執行結束");

}/**

* 生成get set方法

*/public boolean isfalg()

public void setfalg(boolean falg)

}

public class test 

}

使用volatile關鍵字:

public class usevolatile implements runnable 

system.out.println("子執行緒執行結束");

}/**

* 生成get set方法

*/public boolean isfalg()

public void setfalg(boolean falg)

}

public class test 

}

所以 volatile的作用是:

每次執行緒讀取全域性變數前必須先從主記憶體重新整理最新的值。每次執行緒寫入後必須立即將修改的全域性變數同步回主記憶體當中

多執行緒基礎講解十一 ThreadLocal

threadlocal其實特別簡單 就是為每乙個執行緒建立乙個區域性變數。如果不用threadlocal的效果 public class order public class newthread extends thread override public void run public class...

多執行緒講解

using system using system.threading using system.windows.forms namespace threadtest private void form1 load object sender,eventargs e private void but...

c c 多執行緒程式設計基礎講解(三)

include include using namespace std define num threads 5 void say hello void args int main pthread exit null 編譯 執行,結果如下 current pthread id 13967123345...