c#中synchronized的用法是什么

avatar
作者
筋斗云
阅读量:0

在C#中,可以使用关键字synchronized来实现线程同步,保证多个线程访问共享资源时的安全性。在C#中,synchronized关键字可以通过lock关键字来实现。在lock关键字的作用域内,只有一个线程可以访问共享资源,其他线程必须等待当前线程执行完毕才能访问。

下面是一个使用synchronized关键字实现线程同步的示例代码:

using System; using System.Threading;  class Program {     private static object lockObj = new object();      static void Main()     {         Thread t1 = new Thread(DoWork);         Thread t2 = new Thread(DoWork);          t1.Start();         t2.Start();          t1.Join();         t2.Join();          Console.WriteLine("All threads have finished.");     }      static void DoWork()     {         lock (lockObj)         {             for (int i = 0; i < 5; i++)             {                 Console.WriteLine($"Thread {Thread.CurrentThread.ManagedThreadId} is working.");                 Thread.Sleep(100);             }         }     } } 

在上面的示例中,定义了一个静态对象lockObj作为锁对象,然后在DoWork方法中使用lock关键字对共享资源进行同步操作。这样可以确保多个线程访问共享资源时的安全性。

    广告一刻

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