在C#中,可以使用System.Threading.ThreadPool
类来创建和管理进程池。下面是一个简单的示例代码,演示如何使用ThreadPool
来执行异步任务:
using System;
using System.Threading;
using System.Threading.Tasks;
class Program
{
static void Main(string[] args)
{
// 创建一个任务列表
var tasks = new List<Task>();
// 添加任务到线程池
for (int i = 0; i < 10; i++)
{
tasks.Add(Task.Run(() =>
{
Console.WriteLine($"Task {Task.CurrentId} started at {DateTime.Now}");
Thread.Sleep(1000); // 模拟任务执行时间
Console.WriteLine($"Task {Task.CurrentId} completed at {DateTime.Now}");
}));
}
// 等待所有任务完成
Task.WaitAll(tasks.ToArray());
Console.WriteLine("All tasks completed.");
}
}
在上面的示例中,我们使用Task.Run()
方法创建了一个异步任务,并将其添加到线程池中。然后,我们使用Task.WaitAll()
方法等待所有任务完成。
需要注意的是,ThreadPool
类会自动管理线程的创建和销毁,因此不需要手动创建和管理进程。另外,ThreadPool
类还提供了一些方法来控制线程池的行为,例如设置最大工作线程数、设置任务队列的大小等。具体使用方法可以参考C#官方文档。