當乙個執行緒得到乙個物件鎖後,再次請求此物件鎖時是可以再次得到該物件的鎖。這也證明在乙個synchronized方法/塊的內部呼叫本類的其他synchronized方法/塊時候,是永遠可以得到鎖的。
1執行結果:public
class
syncreuseservice
67 synchronized public
void
service2()
1112 synchronized public
void
service3()15}
1617
public
class
syncreuseservicethread extends thread 24}
2526
public
class
threadrunmain
3031
public
static
void
testsyncreuseservicethread()
35 }
當存在父子繼承關係時,子類也可以通過「可重入鎖」呼叫父類的同步方法。
1執行結果:public
class
fatherclass catch
(interruptedexception e) 11}
1213}14
15public
class
sunclass extends fatherclass
24 } catch
(interruptedexception e) 27}
28}2930
public
class
fathersunthread extends thread 37}
3839
public
class
threadrunmain
4344
public
static
void
testfathersunthread()
48 }
Java執行緒同步問題synchronized
android usb 讀寫以前都是一讀一寫,但有些機器會出問題。就採用讀寫非同步的方法。使用物件鎖,object自帶的,然後使用object的方法wait和notify notifyall 使用方法簡單,記錄下 public synchronized int lra setregister int...
Java學習之執行緒鎖 synchronized
同步 併發 多個執行緒訪問同乙份資源 確保資源安全 執行緒安全 synchronized 同步 1 同步塊 synchronized 引用型別 this 類.class 2 同步方法 public synchronized void test public class testsyn class t...
c 多執行緒(四)
執行緒間通訊 主線程建立子執行緒必定會為主執行緒分擔一部分工作,這樣不可避免的會在這兩個執行緒之間存在訊息傳遞渠道,因此主線程和子執行緒之間要進行通訊。下面介紹幾種通訊方式 全域性變數 由於同一程序的各個執行緒之間共享該程序的資源,因此,解決執行緒間通訊最簡單的方式是使用全域性變數。對於標準型別的全...