如何在C#中使用synchronized关键字

avatar
作者
筋斗云
阅读量:0

在C#中,没有像Java那样的synchronized关键字

以下是一个简单的示例,展示了如何在C#中使用lock语句:

using System; using System.Threading;  class Program {     private static readonly object _lockObject = new object();      public static void Main()     {         Thread thread1 = new Thread(DoWork);         Thread thread2 = new Thread(DoWork);          thread1.Start();         thread2.Start();          thread1.Join();         thread2.Join();          Console.WriteLine("Finished.");     }      private static void DoWork()     {         lock (_lockObject)         {             for (int i = 0; i < 5; i++)             {                 Console.WriteLine($"Thread {Thread.CurrentThread.ManagedThreadId} is working...");                 Thread.Sleep(1000);             }         }     } } 

在这个示例中,我们创建了两个线程,它们都调用DoWork方法。DoWork方法中的lock语句确保同一时间只有一个线程可以访问该代码块。这样可以防止多个线程同时访问共享资源(在本例中为控制台),从而避免潜在的数据不一致和竞争条件。

广告一刻

为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!