C# ThreadPool之QueueUserWorkItem怎么用

   2024-11-02 5900
核心提示:ThreadPool.QueueUserWorkItem方法允许您将工作项添加到线程池队列中,以便在线程池中的可用线程上执行。以下是使用ThreadPool.Q

ThreadPool.QueueUserWorkItem方法允许您将工作项添加到线程池队列中,以便在线程池中的可用线程上执行。以下是使用ThreadPool.QueueUserWorkItem的基本示例:

using System;using System.Threading;class Program{    static void Main()    {        for (int i = 0; i < 10; i++)        {            ThreadPool.QueueUserWorkItem(DoWork, i);        }        Console.WriteLine("All work itEMS queued.");        Console.ReadLine();    }    static void DoWork(object state)    {        int workItemNum = (int)state;        Console.WriteLine("Work item {0} starting.", workItemNum);        Thread.Sleep(1000); // 模拟工作        Console.WriteLine("Work item {0} completed.", workItemNum);    }}

在上面的示例中,我们使用ThreadPool.QueueUserWorkItem方法将10个工作项添加到线程池队列中。每个工作项都是一个代表工作编号的整数,表示工作的编号。在DoWork方法中,我们模拟了一个长时间运行的工作,然后在完成后打印工作完成的消息。

请注意,ThreadPool.QueueUserWorkItem方法将工作项添加到线程池中,线程池会自动为工作项分配可用的线程来执行。在工作项完成后,线程将返回到线程池中以供重用。

 
举报打赏
 
更多>同类网点查询
推荐图文
推荐网点查询
点击排行

网站首页  |  关于我们  |  联系方式网站留言    |  赣ICP备2021007278号