在C#中,可以使用System.Threading.ThreadPool
類來創(chuàng)建和管理進程池。下面是一個簡單的示例代碼,演示如何使用ThreadPool
來執(zhí)行異步任務(wù):
using System;
using System.Threading;
using System.Threading.Tasks;
class Program
{
static void Main(string[] args)
{
// 創(chuàng)建一個任務(wù)列表
var tasks = new List<Task>();
// 添加任務(wù)到線程池
for (int i = 0; i < 10; i++)
{
tasks.Add(Task.Run(() =>
{
Console.WriteLine($"Task {Task.CurrentId} started at {DateTime.Now}");
Thread.Sleep(1000); // 模擬任務(wù)執(zhí)行時間
Console.WriteLine($"Task {Task.CurrentId} completed at {DateTime.Now}");
}));
}
// 等待所有任務(wù)完成
Task.WaitAll(tasks.ToArray());
Console.WriteLine("All tasks completed.");
}
}
在上面的示例中,我們使用Task.Run()
方法創(chuàng)建了一個異步任務(wù),并將其添加到線程池中。然后,我們使用Task.WaitAll()
方法等待所有任務(wù)完成。
需要注意的是,ThreadPool
類會自動管理線程的創(chuàng)建和銷毀,因此不需要手動創(chuàng)建和管理進程。另外,ThreadPool
類還提供了一些方法來控制線程池的行為,例如設(shè)置最大工作線程數(shù)、設(shè)置任務(wù)隊列的大小等。具體使用方法可以參考C#官方文檔。