大家好,今天來到第 14 天,接著簡單的介紹多工處理。
while
或 for
迴圈,或是其它不斷執行的作業。Thread
類別物件,並傳入剛剛建立的方法作為參數。Start
方法,即開始啟動執行緒。Join
方法。int n;
private void AddN(){
for(int i = 0;i < 50;i++){
n = n + 1;
}
}
public void Run(){
Thread threadAdd = new Thread(AddN); // 傳入要執行的方法
threadAdd.Start();
//threadAdd.Join(); // 等待執行緒結束,以觀察結果
//Console.WriteLine(n.ToString());
}
Thread threadAdd = new Thread(AddN);
threadAdd.Start();
Thread threadAdd2 = new Thread(AddN);
threadAdd2.Start();
threadAdd.Join();
threadAdd2.Join();
Console.WriteLine(n.ToString());
這是因為同時對相同資料讀取和寫入,導致有時讀取到非最新的資料,產生的錯誤。遇到同時讀寫相同資料的需求時,寫入時應限定其他執行緒不能讀寫。
Thread 類別 (System.Threading) - Microsoft Learn