ホームページ  >  記事  >  バックエンド開発  >  C# の Monitor と Lock の違いは何ですか?

C# の Monitor と Lock の違いは何ですか?

王林
王林転載
2023-09-08 21:13:07732ブラウズ

C# の Monitor と Lock の違いは何ですか?

モニターとロックはどちらも、オブジェクト アクセスを同期するためのメカニズムを提供します。 lock は Monitor.Enter と try のショートカットです。

ロックはショートカットであり、基本的な使用方法のオプションです。さらに制御が必要な場合は、TryEnter()、Wait()、Pulse()、および高度なマルチスレッド ソリューション用の & を使用してください。 PulseAll() メソッドの場合は、Montior クラスを選択します。

ロックの例 -

Example

class Program{
static object _lock = new object();
static int Total;
public static void Main(){
   AddOneHundredLock();
   Console.ReadLine();
}
public static void AddOneHundredLock(){
   for (int i = 1; i <= 100; i++){
      lock (_lock){
         Total++;
      }
   }
}

モニターの例

Example

class Program{
   static object _lock = new object();
   static int Total;
   public static void Main(){
      AddOneHundredMonitor();
      Console.ReadLine();
   }
   public static void AddOneHundredMonitor(){
      for (int i = 1; i <= 100; i++){
         Monitor.Enter(_lock);
         try{
            Total++;
         }
         finally{
            Monitor.Exit(_lock);
         }
      }
   }
}

以上がC# の Monitor と Lock の違いは何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はtutorialspoint.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。