学堂 学堂 学堂公众号手机端

ThreadPool.QueueUserWorkItem方法允许您将工作项添加到线程池队列中,以便在线程池中的可用线程上执行

lewis 2年前 (2024-01-03) 阅读数 6 #技术

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

usingSystem; usingSystem.Threading; classProgram { staticvoidMain() { for(inti=0;i<10;i++) { ThreadPool.QueueUserWorkItem(DoWork,i); } Console.WriteLine("Allworkitemsqueued."); Console.ReadLine(); } staticvoidDoWork(objectstate) { intworkItemNum=(int)state; Console.WriteLine("Workitem{0}starting.",workItemNum); Thread.Sleep(1000);//模拟工作 Console.WriteLine("Workitem{0}completed.",workItemNum); } }

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

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


版权声明

本文仅代表作者观点,不代表博信信息网立场。

热门