现在的位置: 首页 > 综合 > 正文

ThreadPool用法实例

2018年10月30日 ⁄ 综合 ⁄ 共 787字 ⁄ 字号 评论关闭

public void testThreads()

{

  ThreadPool.SetMaxThreads(5,5);//
允许线程池中运行最多 5 个线程

   ManualResetEvent[] _ManualEvents = new ManualResetEvent[10]; 
   for (int i = 0; i < 10; i++)
   {
        _ManualEvents[i] = new ManualResetEvent(false);  //新建
ManualResetEvent 对象并且初始化为无信号状态


     //将工作项加入线程池里

        System.Threading.ThreadPool.QueueUserWorkItem(new WaitCallback(testMethod), _ManualEvents[i]);
   }
   WaitHandle.WaitAll(_ManualEvents);
   // 线程结束后执行后面的主线程代码 
    Console.WriteLine("结束了");
   Console.ReadLine();

public void testMethod(object objEvent)
{
     //TODO: Add your code here
     ManualResetEvent e = (ManualResetEvent)objEvent;
     e.Set();

}

参考:http://www.cnblogs.com/SkySoot/archive/2012/04/01/2429259.html

http://bbs.csdn.net/topics/370019875

http://www.cnblogs.com/kingdom_0/articles/2034883.html

抱歉!评论已关闭.