共用方式為


SpinLock

SpinLock 結構屬於低階、互斥同步處理原始物件,在等候取得鎖定時進行旋轉。 在多核心電腦上,當等待週期預計不長並且爭用最小時,SpinLock 可以提供較其他鎖定更優越的效能。 但是,我們建議只有在進行程式碼剖析後確定 System.Threading.Monitor 方法或 Interlocked 方法會大幅降低程式效能時,才使用 SpinLock

SpinLock 可以產生執行緒的時間量,即使它尚未取得鎖定也一樣。 這樣做會避免執行緒優先權顛倒,並啟用記憶體回收行程來繼續執行。 使用 SpinLock 時,請確保沒有執行緒能夠在短時間範圍內維持鎖定,也沒有執行緒能夠在維持鎖定時進行封鎖。

因為 SpinLock 是實值型別,因此如果想要兩份複本參考同一鎖定,必須明確以傳址方式進行傳遞。

如需如何使用此型別的詳細資訊,請參閱 System.Threading.SpinLock。 如需範例,請參閱 HOW TO:使用 SpinLock 進行低階同步處理

SpinLock 支援「執行緒追蹤」(Thread Tracking) 模式,該模式可以在開發階段期間使用,用來協助追蹤在特定時間維持鎖定的執行緒。 執行緒追蹤模式對於偵錯非常有用,但是建議在程式的發行版本中關閉該模式,因為它會降低效能。 如需詳細資訊,請參閱 HOW TO:啟用 SpinLock 中的執行緒追蹤模式

請參閱

其他資源

執行緒處理物件和功能