中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

c#中synchronized的用法是什么

c#
小億
155
2024-05-30 14:36:11
欄目: 編程語言

在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關鍵字對共享資源進行同步操作。這樣可以確保多個線程訪問共享資源時的安全性。

0
岳池县| 新巴尔虎右旗| 昭觉县| 平原县| 永善县| 盐池县| 桦甸市| 通道| 永丰县| 大兴区| 星座| 镇坪县| 沐川县| 龙游县| 三河市| 贵州省| 翼城县| 泾源县| 南开区| 岳阳市| 积石山| 沂南县| 麟游县| 兰溪市| 营口市| 嵊泗县| 潜江市| 镇平县| 舞钢市| 荣成市| 崇义县| 栾城县| 瑞丽市| 沂水县| 同德县| 宜宾市| 漠河县| 朔州市| 上思县| 九江市| 普兰县|