首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

C#中简单线程池的代码

在C#中,简单线程池可以通过使用System.Threading.ThreadPool类来实现。以下是一个简单的示例代码:

代码语言:csharp
复制
using System;
using System.Threading;

class Program
{
    static void Main()
    {
        // 将线程池中的工作线程数设置为4
        ThreadPool.SetMinThreads(4, 4);

        // 将线程池中的工作线程数设置为20
        ThreadPool.SetMaxThreads(20, 20);

        // 创建一个任务队列
        for (int i = 0; i < 100; i++)
        {
            ThreadPool.QueueUserWorkItem(new WaitCallback(MyTask), i);
        }

        Console.ReadLine();
    }

    static void MyTask(object state)
    {
        int taskId = (int)state;
        Console.WriteLine($"Task {taskId} is running on thread {Thread.CurrentThread.ManagedThreadId}");
        Thread.Sleep(1000);
        Console.WriteLine($"Task {taskId} is completed");
    }
}

在这个示例中,我们首先设置了线程池中的最小和最大工作线程数。然后,我们创建了一个任务队列,其中包含100个任务。每个任务都将在线程池中的一个工作线程上运行。我们使用ThreadPool.QueueUserWorkItem方法将任务添加到线程池中。最后,我们在控制台上输出了每个任务的运行状态。

这个简单的线程池示例展示了如何使用C#中的线程池来并行执行多个任务,从而提高程序的性能和响应速度。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

领券