1. 程式人生 > >Java中synchronized和同步方法

Java中synchronized和同步方法

在多執行緒中,有一個經典問題:存票售票問題

如果只用兩個Thread子類則容易陷入死迴圈。

有一個很好的解決辦法就是synchronized。

方法一:在thread子類的run中直接通過synchronized來申請物件的鎖旗標,即用synchronized把存售票程式碼框起來。

方法二:在票類中直接將方法在同步控制下執行,即在方法定義前加上synchronzide關鍵字。

例子:方法二:

public Synchronzied void put(){

  System.out.printkn("Producer puts ticket"+(++number));

  available=true;

}