亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

c# queue在多線程中如何安全使用

c#
小樊
113
2024-06-26 00:13:46
欄目: 編程語言

在多線程環境中,可以使用C#中的ConcurrentQueue類來安全地操作隊列。ConcurrentQueue類是線程安全的隊列,可以在多個線程中同時添加和移除元素,而無需額外的同步措施。

下面是一個使用ConcurrentQueue類的示例:

using System;
using System.Collections.Concurrent;
using System.Threading.Tasks;

class Program
{
    static ConcurrentQueue<int> queue = new ConcurrentQueue<int>();

    static void Main()
    {
        Task t1 = Task.Run(() =>
        {
            for (int i = 0; i < 10; i++)
            {
                queue.Enqueue(i);
                Console.WriteLine("Enqueued: " + i);
            }
        });

        Task t2 = Task.Run(() =>
        {
            int item;
            while (!queue.IsEmpty)
            {
                if (queue.TryDequeue(out item))
                {
                    Console.WriteLine("Dequeued: " + item);
                }
            }
        });

        Task.WaitAll(t1, t2);
    }
}

在上面的示例中,我們創建了一個ConcurrentQueue實例并在兩個不同的任務中操作該隊列。一個任務負責向隊列中添加元素,另一個任務負責從隊列中移除元素。由于ConcurrentQueue是線程安全的,因此我們無需手動添加同步措施來保證多線程安全。

總的來說,在多線程環境中使用ConcurrentQueue可以簡化代碼邏輯并確保線程安全。

0
重庆市| 都昌县| 常德市| 大足县| 芜湖市| 河曲县| 长沙县| 吐鲁番市| 宜丰县| 铜川市| 尤溪县| 遂川县| 五指山市| 辉南县| 新建县| 五河县| 胶州市| 汶上县| 东宁县| 阳谷县| 吉安县| 通化市| 沙田区| 陇川县| 宁都县| 辛集市| 东源县| 平定县| 晴隆县| 牡丹江市| 连山| 绵阳市| 博客| 封开县| 大名县| 海口市| 三都| 绥滨县| 遂川县| 怀集县| 黑水县|