List<int> list = new List<int>();
for (int i = 0; i < 10000; i++)
{
list.Add(i);
}
Action<int> action = i => {
Console.WriteLine(i);
};
List<Task> tasks = new List<Task>();
foreach (var i in list)
{
int k = i;
tasks.Add(Task.Run(() => action.Invoke(i)));
if (i>10)
{
Task.WaitAny(tasks.ToArray());
tasks = tasks.Where(x => x.Status != TaskStatus.RanToCompletion).ToList();
}
}
Task.WaitAll(tasks.ToArray());
Task控制线程数量
最新推荐文章于 2023-06-13 13:36:19 发布