如何:協調多執行緒的執行

為了讓您的多執行緒元件成為安全執行緒,您必須協調共用資源的存取。 如果多個執行緒同時嘗試存取共用資源,就可能造成競爭情形而使得資料損毀。 您可使用鎖定來避免競爭情形發生。 如需執行緒安全性和競爭情形的詳細資訊,請參閱安全執行緒的元件

若要在物件上建立鎖定

  1. 找出必須完整執行的程式碼以及要執行程式碼所在的物件。 如需詳細資訊,請參閱安全執行緒的元件

  2. 將鎖定置於物件上並將您的程式碼封入鎖定內。

    這時以下的程式碼就會在鎖定的物件上完整執行。

    SyncLock MyObject   ' This represents the start of the lock on MyObject.
    ' Insert code to be executed atomically on MyObject here.
    End SyncLock   ' This represents the end of the lock.
    
    lock (MyObject) 
       // All code inside the braces {} is executed with MyObject locked.
    {
       // Insert code to be executed atomically on MyObject here.
    }
    

請參閱

工作

逐步解說:使用 Visual Basic 撰寫簡單的多執行緒元件

逐步解說:使用 Visual C# 撰寫簡單的多執行緒元件

參考

BackgroundWorker

概念

安全執行緒的元件

事件架構非同步模式概觀

其他資源

元件中的多執行緒