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 中文站