溫馨提示×

c#進程池代碼咋寫

c#
小樊
81
2024-10-18 20:50:34
欄目: 編程語言

在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#官方文檔。

0