using System;
using System.Collections.Concurrent;
using System.Linq;
using System.Threading.Tasks;
class Program
{
    static void Main(string[] args)
    {
        // 使用 ConcurrentBag 来存储结果,它是线程安全的集合
        ConcurrentBag<int> results = new ConcurrentBag<int>();
        // 创建一个包含10个任务的任务列表
        Task[] tasks = Enumerable.Range(0, 10).Select(i => Task.Run(() =>
        {
            // 模拟一些并发操作
            int result = DoWork(i);
            // 线程安全地将结果添加到集合中
            results.Add(result);
        })).ToArray();
        // 等待所有任务完成
        Task.WaitAll(tasks);
        // 输出结果
        foreach (var result in results)
        {
            Console.WriteLine(result);
        }
    }
    static int DoWork(int input)
    {
        // 模拟一些耗时的操作
        Task.Delay(100).Wait();
        return input * input;
    }
}通过这种方式,可以在 C# 中实现高并发处理,确保线程安全并有效利用多核 CPU 的性能。
上一篇:c# rtsp
下一篇:c# if else
Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3
Laravel 中文站