我的程式由一個主核心函式和一個在該函式內部啟動以執行某些任務(檢查訂單狀態并更新分類帳)的執行緒組成。在我的核心程式中,我使用多個類的物件數百次,我需要我的執行緒能夠進行更改并將資料添加到從核心函式共享的那些物件中。在那個執行緒中,我實作了一個執行緒鎖以確保一切順利運行。我的問題是每次在核心函式中使用物件時是否需要加鎖,還是只鎖定執行緒中的資源就足夠了?
我為不共享代碼而提前道歉,我不能。
uj5u.com熱心網友回復:
持有一個鎖(即已經獲得但尚未釋放)的效果是任何其他試圖獲得相同鎖的執行緒都將被阻塞,直到第一個執行緒釋放了鎖。換句話說,在任何給定時間,至多一個執行緒可以持有鎖。
如果只有一個執行緒使用鎖,則什么也做不了。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/513765.html
上一篇:快速應用程式中的作業執行緒
