C#语言是一种简单易学的高级编程语言,我们本文将介绍如何在C#中使用 线程池 ThreadPool以及设置ThreadPool的最大并发线程数。

我们可以使用SetMaxThreads来设置 线程池 ThreadPool的最大并发线程数,如我们设置最大线程数为30

System.Threading.ThreadPool.SetMaxThreads(30, 30);
通过以上的设置,程序就会创建30个并发线程,其他需要执行的任务将会在 线程池 队列中等待执行

我们通过 线程池 ThreadPool编写一个示例程序,在本程序中我们使用多线程执行输出字符的任务,在输出字符中会阻塞输出线程5秒,在这五秒钟,其他线程便会继续执行

for (var i = 0; i < 100; i++)
{
    System.Threading.ThreadPool.QueueUserWorkItem((x) =>
    {
        var iInstance = (int)x;
        var a = iInstance + "->开始---";
        Thread.Sleep(new Random(Guid.NewGuid().GetHashCode()).Next(5000));
        Console.WriteLine(a + "结束(" + iInstance + ")");
    }, i);
}
示例执行结果

通过以上代码我们已测试出 线程池 会创建30个线程同时执行,其他任务会等待这30个线程执行,无论任何一个执行结束便会从堆栈中取出任务执行。