同步:併發 多個執行緒訪問同乙份資源 確保資源安全 --》執行緒安全
synchronized: 同步
1、同步塊
synchronized(引用型別|this|類.class)
2、同步方法
public synchronized void test()
public class testsyn
}class ticket implements runnable
} catch (interruptedexception e)
} // 執行緒安全,同步塊,慢
public void test3() throws interruptedexception
thread.sleep(1000);
system.out
.println(thread.currentthread().getname() + "==>" + num--);
} }// 執行緒安全,鎖定方法,慢
public synchronized void test2() throws interruptedexception
thread.sleep(1000);
system.out.println(thread.currentthread().getname() + "==>" + num--);
} // 執行緒不安全,鎖定範圍不正確
public void test4() throws interruptedexception
} thread.sleep(1000);
system.out.println(thread.currentthread().getname() + "==>" + num--);
} // 執行緒不安全,鎖定範圍不正確
public void test5() throws interruptedexception
synchronized (this)
} // 執行緒不安全,鎖定範圍不正確
public void test6() throws interruptedexception
thread.sleep(1000);
system.out
.println(thread.currentthread().getname() + "==>" + num--);
} }// 執行緒不安全,沒有鎖定資源
public void test1() throws interruptedexception
thread.sleep(1000);
system.out.println(thread.currentthread().getname() + "==>" + num--);
}}
Java執行緒鎖
學習多執行緒大家都對它的鎖感到鬱悶,一般它的鎖物件可以有object,當前類物件this,以及修飾static方法時的類class檔案。比如對於同步 塊 while true catch interruptedexception e system.out.println thread.current...
執行緒學習之互斥鎖
關於死鎖 條件訊號 conditional 1.相關api 具體例子 程式設計遇到的問題 當乙個程序中存在兩個及以上 乙個程序本來就有乙個執行緒 的執行緒時,執行緒間會互相爭奪共享資源,導致單個執行緒中的執行秩序會被打亂。所以需要用到互斥量來進行秩序控制,保證單個執行緒中的程式先執行完畢。所以互斥鎖...
JUC學習之執行緒8鎖
介紹執行緒8鎖圍繞乙個題目展開,題目 列印的是 one 還是 two 1.兩個普通同步方法,兩個執行緒,列印?public class testthread8monitor start new thread new runnable start class number public synchro...