ホームページ > バックエンド開発 > C#.Net チュートリアル > C# の Monitor と Lock の違いは何ですか?

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

王林
リリース: 2023-09-08 21:13:07
転載
764 人が閲覧しました

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 までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート