给出一个C#的进程池使用样例
时间: 2024-10-27 09:03:53 浏览: 16
在C#中,你可以通过System.Threading.Tasks命名空间下的`Task`类和`ThreadPool`类来使用进程池。下面是一个简单的示例,展示如何将任务提交给进程池并接收结果:
```csharp
using System;
using System.Threading.Tasks;
public class Program
{
public static void Main()
{
// 创建一个方法,我们将其放入工作队列
Func<int, int> square = (x) => x * x;
// 使用ThreadPool.QueueUserWorkItem来将任务提交到进程池
ThreadPool.QueueUserWorkItem((state) =>
{
int result = square(5); // 模拟耗时操作
Console.WriteLine($"Result from ThreadPool: {result}");
});
// 主程序继续运行,不会阻塞直到工作完成
Console.WriteLine("Main thread is still running...");
}
}
```
在这个例子中,`QueueUserWorkItem`方法接受一个Action委托作为参数,它是可以异步执行的任务。当主线程运行时,并不会等待工作项完成,而是继续执行后面的代码。
阅读全文