using System;
using System.Threading;
class Program
{
static void Main()
{
// 创建一个线程池中的工作项
ThreadPool.QueueUserWorkItem(new WaitCallback(DoWork));
// 等待用户输入,以便观察线程池的工作
Console.WriteLine("Press Enter to exit.");
Console.ReadLine();
}
static void DoWork(object state)
{
// 模拟一些工作
Console.WriteLine("Thread pool thread is starting work.");
Thread.Sleep(2000); // 模拟耗时操作
Console.WriteLine("Thread pool thread has completed work.");
}
}
ThreadPool.QueueUserWorkItem:这是将工作项排队到线程池的方法。它接受一个 WaitCallback 委托,该委托指向要在线程池中执行的方法(在这里是 DoWork 方法)。
DoWork 方法:这是一个简单的模拟工作方法,它打印一条消息,然后休眠 2 秒钟以模拟耗时操作,最后再打印一条完成的消息。
Console.ReadLine():这行代码用于等待用户输入,以便我们可以观察线程池的工作。如果不加这行代码,主线程可能会在子线程完成之前结束,导致我们无法看到完整的输出。
通过这种方式,你可以利用 C# 的线程池来异步执行任务,而无需手动管理线程的创建和销毁。
上一篇:c# web
下一篇:c# equals
Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3
Laravel 中文站