什么是线程池?
线程池是一种管理线程的机制,通过重用线程来减少创建和销毁线程的开销,从而提升应用程序性能。C# 提供了内置的 ThreadPool
类来实现线程池功能。
线程池的优势
- 减少线程创建和销毁开销:通过复用线程,避免频繁的线程创建和销毁。
- 自动管理线程数量:线程池根据系统负载动态调整线程数量。
- 简化线程管理:开发者不需要显式地创建和管理线程。
线程池的使用方式
线程池适用于需要短时间运行的任务。通过 ThreadPool.QueueUserWorkItem
方法,可以将任务排入线程池中。
示例代码
using System;
using System.Threading;
class Program
{
static void Main()
{
Console.WriteLine("Main thread started.");
// 使用线程池执行任务
for (int i = 0; i < 5; i++)
{
int taskId = i; // 避免闭包问题
ThreadPool.QueueUserWorkItem(Task, taskId