c#线程池
时间: 2023-07-01 12:29:26 浏览: 88
C# 中的线程池是一种可以重复使用的线程集合,可以降低线程创建和销毁的开销,从而提高程序的性能和响应速度。使用线程池可以避免在需要执行大量任务时创建大量线程,从而避免资源浪费和系统负担。在 C# 中,可以通过 ThreadPool 类来使用线程池。
以下是一个使用线程池的示例代码:
```csharp
using System;
using System.Threading;
class Program
{
static void Main(string[] args)
{
// 创建一个线程池任务
ThreadPool.QueueUserWorkItem(new WaitCallback(DoWork), "Task 1");
// 等待任务完成
Console.WriteLine("Waiting for task to complete...");
Thread.Sleep(2000);
Console.WriteLine("Main thread exits.");
}
static void DoWork(object data)
{
// 获取任务数据
string taskName = (string)data;
Console.WriteLine("Task {0} is starting.", taskName);
// 模拟任务执行
Thread.Sleep(1000);
Console.WriteLine("Task {0} is complete.", taskName);
}
}
```
输出结果:
```
Task 1 is starting.
Waiting for task to complete...
Task 1 is complete.
Main thread exits.
```
在这个示例代码中,我们使用 ThreadPool.QueueUserWorkItem() 方法来向线程池中添加一个任务,然后使用 Thread.Sleep() 方法来等待任务执行完成。任务执行的过程中会输出一些信息,最后主线程退出。
相关推荐
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)