legongju.com
我们一直在努力
2025-01-08 06:06 | 星期三

c#怎么创建线程池

在C#中,可以使用System.Threading.ThreadPool类来创建和管理线程池。以下是一个简单的示例,展示了如何创建一个线程池并向其添加工作项:

using System;
using System.Threading;

class Program
{
    static void Main(string[] args)
    {
        // 创建一个线程池
        ThreadPool.SetMaxThreads(10, 10); // 设置线程池的最大工作线程数和最大I/O线程数

        // 向线程池添加工作项
        for (int i = 0; i < 5; i++)
        {
            int taskNumber = i + 1;
            ThreadPool.QueueUserWorkItem(new WaitCallback(Task), taskNumber);
        }

        // 等待所有工作项完成
        Thread.Sleep(1000);

        Console.WriteLine("所有工作项已完成");
        Console.ReadKey();
    }

    // 工作项的回调方法
    static void Task(object state)
    {
        int taskNumber = (int)state;
        Console.WriteLine($"任务 {taskNumber} 开始");
        Thread.Sleep(200); // 模拟耗时操作
        Console.WriteLine($"任务 {taskNumber} 结束");
    }
}

在这个示例中,我们首先使用ThreadPool.SetMaxThreads方法设置线程池的最大工作线程数和最大I/O线程数。然后,我们使用ThreadPool.QueueUserWorkItem方法向线程池添加工作项。每个工作项都是一个WaitCallback委托,它表示要执行的任务。在这个例子中,我们将任务编号传递给Task方法,该方法模拟一个耗时操作并输出任务开始和结束的消息。

注意:在实际应用中,通常不需要手动设置线程池的最大线程数。默认值通常适用于大多数情况。如果需要调整线程池大小,请确保根据系统资源和工作负载进行适当的调整。

未经允许不得转载 » 本文链接:https://www.legongju.com/article/90685.html

相关推荐

  • c++ complex类的成员函数有哪些

    c++ complex类的成员函数有哪些

    C++中的complex类是在头文件中定义的,用于表示和操作复数。以下是一些常用的complex类的成员函数: 构造函数 complex(T real = 0, T imag = 0):创建一个复数,...

  • complex类在c++中的构造方法有哪些

    complex类在c++中的构造方法有哪些

    在C++中,std::complex是一个模板类,用于表示复数 默认构造函数:创建一个复数对象,其实部和虚部都初始化为0。 std::complex c1; // c1 = (0, 0) 单参数构造函...

  • c++ complex类如何实现复数运算

    c++ complex类如何实现复数运算

    C++中的complex类是一个模板类,用于表示和操作复数。它在头文件中定义。要使用complex类,首先需要包含该头文件。
    以下是一些基本的复数运算示例:
    #...

  • c++ complex类的继承关系如何

    c++ complex类的继承关系如何

    C++中的complex类是一个模板类,它位于头文件中。complex类用于表示复数,并提供了一些基本的复数操作。
    complex类的定义如下:
    template< class T ><...

  • c# npoi怎么创建excel

    c# npoi怎么创建excel

    NPOI 是一个用于操作 Microsoft Office 文件格式的 .NET 库,包括 Excel。要使用 NPOI 创建 Excel 文件,请按照以下步骤操作: 首先,确保已将 NPOI 添加到项目中...

  • c#怎么加密字符串

    c#怎么加密字符串

    在C#中,可以使用内置的加密类库来加密字符串。下面是一个使用AES加密算法的示例:
    首先,需要引入System.Security.Cryptography命名空间。
    using Sys...

  • c#怎么读excel每行每列

    c#怎么读excel每行每列

    在C#中,可以使用第三方库如EPPlus、NPOI或Microsoft.Office.Interop.Excel来操作Excel文件。这里我将给出一个使用EPPlus库的示例,展示如何遍历Excel文件的每行...

  • c语言流星雨特效怎么实现

    c语言流星雨特效怎么实现

    在C语言中,要实现流星雨特效,可以使用基于文本的ASCII字符来模拟这种视觉效果。下面是一个简单的示例代码,展示了如何使用C语言实现流星雨特效:
    #includ...