Laravel  
laravel
文档
数据库
架构
入门
php技术
    
Laravelphp
laravel / php / java / vue / mysql / linux / python / javascript / html / css / c++ / c#

c#线程池

作者:夜雨行空   发布日期:2026-07-24   浏览:114

using System;
using System.Threading;

class Program
{
    static void Main()
    {
        // 创建一个线程池中的工作项
        ThreadPool.QueueUserWorkItem(new WaitCallback(DoWork));

        // 等待用户输入,以便观察线程池的工作
        Console.WriteLine("Press Enter to exit.");
        Console.ReadLine();
    }

    static void DoWork(object state)
    {
        // 模拟一些工作
        Console.WriteLine("Thread pool thread is starting work.");
        Thread.Sleep(2000); // 模拟耗时操作
        Console.WriteLine("Thread pool thread has completed work.");
    }
}

解释说明

  1. ThreadPool.QueueUserWorkItem:这是将工作项排队到线程池的方法。它接受一个 WaitCallback 委托,该委托指向要在线程池中执行的方法(在这里是 DoWork 方法)。

  2. DoWork 方法:这是一个简单的模拟工作方法,它打印一条消息,然后休眠 2 秒钟以模拟耗时操作,最后再打印一条完成的消息。

  3. Console.ReadLine():这行代码用于等待用户输入,以便我们可以观察线程池的工作。如果不加这行代码,主线程可能会在子线程完成之前结束,导致我们无法看到完整的输出。

通过这种方式,你可以利用 C# 的线程池来异步执行任务,而无需手动管理线程的创建和销毁。

上一篇:c# web

下一篇:c# equals

大家都在看

c# 二进制

c# 创建目录

c# socket服务端连接多个客户端

c# datatable group by

c# tcp client

c# type.gettype

c# sqlconnection

c# string.format 小数位数

c# invoke方法

.net和c#

Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3

Laravel 中文站