《軟件開發性能優化系列》之多線程 -开发者知识库

《軟件開發性能優化系列》之多線程 -开发者知识库,第1张

1、 線程同步


      線程同步是編寫多線程程序需要首先考慮問題。C#為同步提供了 Monitor、Mutex、AutoResetEvent 和 ManualResetEvent 對象來分別包裝 Win32 的臨界區、互斥對象和事件對象這幾種基礎的同步機制。C#還提供了一個lock語句,方便使用,編譯器會自動生成適當的 Monitor.Enter 和 Monitor.Exit 調用。

a)、同步粒度

 

      同步粒度可以是整個方法,也可以是方法中某一段代碼。為方法指定 MethodImplOptions.Synchronized 屬性將標記對整個方法同步。例如:

[MethodImpl(MethodImplOptions.Synchronized)] 
public static SerialManager GetInstance() 
{ 
 if (instance == null ) 
   { 
       instance = new SerialManager(); 
   } 
 return instance; 
}

最佳答案:

本文经用户投稿或网站收集转载,如有侵权请联系本站。

发表评论

0条回复