執行緒同步(重點)
執行緒同步:
- 現實生活中,我們會遇到“同一個資源,多個人都想使用”的問題,比如:食堂排隊打飯,每個人都想吃飯,最天然的解決辦法就是,排隊,一個個來,
- 處理多執行緒問題時,多個執行緒訪問同一個物件,并且某些執行緒還想修改這個物件,這時候我們就需要執行緒同步,執行緒同步其實就是一種等待機制,多個需要同時訪問此物件的執行緒進入這個物件的等待池下形成佇列,等待前面執行緒使用完畢,下一個執行緒在使用,
- 由于同一行程的多個執行緒共享同一塊存盤空間,在帶來方便的同時,也帶來了訪問沖突的問題,為了保證資料在方法中被訪問時的正確性,在訪問時加入鎖機制 synchronized ,當一個執行緒獲得物件的排它鎖,獨占資源,其他執行緒必須等待,使用后釋放鎖即可,存在以下問題:
- 一個執行緒持有鎖會導致其他所有需要此鎖的執行緒掛起;
- 在多執行緒競爭下,加鎖,釋放鎖會導致比較多的背景關系切換和調度延遲,引發性能問題;
- 如果一個優先級高的執行緒等待一個優先級低的執行緒釋放鎖會導致優先級導致,引發性能問題,
并發:
- 同一個物件被多個執行緒同時操作
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/240502.html
標籤:其他
上一篇:Nginx服務器的高級配置
