1. 程式人生 > >【.NET】執行緒同步

【.NET】執行緒同步

問題

多個執行緒同時訪問同一資源時,必然會出現衝突問題?比如一個執行緒嘗試從一個檔案中讀取資料,而另一個執行緒則嘗試在同一個檔案中修改資料。這樣子,資料可能變得不一致

解決方法

通常只讓一個執行緒徹底訪問完成其任務後,再執行下一個執行緒 三種方法實現執行緒同步 Lock、Monitor、Mutex等

程式碼

//FileLogger.cs
static readonly object WriteLock = new object( );
public void Log(string strText)
{
	if(m_strFile == "") return;
	lock(WriteLock)
	{
		WriteLone(strText);
	}
}