c#中synchronized的用法是什么

   2024-10-13 8310
核心提示:在C#中,可以使用关键字synchronized来实现线程同步,保证多个线程访问共享资源时的安全性。在C#中,synchronized关键字可以通过

在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关键字对共享资源进行同步操作。这样可以确保多个线程访问共享资源时的安全性。

 
举报打赏
 
更多>同类维修大全
推荐图文
推荐维修大全
点击排行

网站首页  |  关于我们  |  联系方式网站留言    |  赣ICP备2021007278号