多執行緒安全問題 同步方法

2021-08-04 13:03:13 字數 550 閱讀 3903

(2)同步方法

同步方法是指進入該方法時需要獲取this 物件的同步鎖, 在方法上使用

synchronized 關鍵字,

使用this 物件作為鎖,也就是使用了當前物件,因為鎖住了方法,所以相對於代

碼塊來說效率相對較低。

注:靜態同步方法的鎖是該方法所在的類的位元組碼檔案物件,即類名.class 檔案

格式:修飾詞synchronized 返回值型別方法名(引數列表)

}/**

* 票池

*/class ticketpool

return temp ; }}

/** * 售票員

*/class saler2 extends thread

public string getname0()

public void setname0(string name0)

public void run()

system.out.println(name0 + " : " + tick);

thread.yield();

} }}

多執行緒安全問題

這裡的安全問題可以理解為 實現在邏輯上的問題,比如 火車站賣票 100張票讓4個人去賣,一定不能出現賣的票是負數問題,那麼開啟多執行緒後,如何才能保證賣的票不可能存在負數呢?常用的解決方法有兩種 1,使用同步 塊,把需要同步的 再放同步 塊中 2,使用同步函式 同步的鎖,可以理解為就是那個物件!同步...

多執行緒二 多執行緒安全問題

當多個執行緒共享同乙個全域性或者靜態變數,做寫的操作,可能會發生資料衝突問題,也就是執行緒安全問題。讀操作和區域性變數是不會發生的。二 執行緒安全的解決方法 該資源只能讓當前執行緒操作,操作完成之後,再讓其他執行緒執行 多執行緒之間同步 synchronized 使用鎖 lock 語法 synchr...

多執行緒(多執行緒的安全問題)

多執行緒的執行出現安全問題。非常可怕的問題,一出問題比較惱火 問題原因 重點 當多條語句在操作同乙個執行緒共享資料時,乙個執行緒對多條語句只執行了一部分,還沒執行完,另乙個執行緒參與進來執行。導致共享資料的錯誤。解決方法 對多條操作共享資料的語句,只能讓乙個執行緒都執行完,在執行過程中,其他執行緒不...