我看过一个用WaitHandle来等待所有线程已执行结束的例子,
但是我的代码改不成啊,郁闷~~~例子是这样:
ThreadPool.QueueUserWorkItem(new WaitCallback(DoTask), waitHandles[0]);
ThreadPool.QueueUserWorkItem(new WaitCallback(DoTask), waitHandles[1]);
WaitHandle.WaitAll(waitHandles);问题1:但是我的QueueUserWorkItem()方法并不是连续或在for里面调用,主线程可能有N个方法调用QueueUserWorkItem()。问题2:他要把waitHandles对象作为QueueUserWorkItem()的第二个参数,但是第二个参数我已经用来传入我自己的对象了。如果ThreadPool有一个属性告诉我是否所有线程都是空閒的就好了~~
但是我的代码改不成啊,郁闷~~~例子是这样:
ThreadPool.QueueUserWorkItem(new WaitCallback(DoTask), waitHandles[0]);
ThreadPool.QueueUserWorkItem(new WaitCallback(DoTask), waitHandles[1]);
WaitHandle.WaitAll(waitHandles);问题1:但是我的QueueUserWorkItem()方法并不是连续或在for里面调用,主线程可能有N个方法调用QueueUserWorkItem()。问题2:他要把waitHandles对象作为QueueUserWorkItem()的第二个参数,但是第二个参数我已经用来传入我自己的对象了。如果ThreadPool有一个属性告诉我是否所有线程都是空閒的就好了~~
解决方案 »
- 哥哥姐姐们谁有空的帮我看看哪里做的不对的,帮忙修改一下好不?谢啦!
- 一个特别的字符串匹配的问题
- 我写了一个自动备份网站的一个程序,那位大哥给优化一下,或者给揪揪错!明天服务器上要用!
- WinFrom多窗体间如何实现for循环切换,在线等啊,急?
- 急马上给分!静态结构图在Dawamish7.0体现的问题!
- 在线等急!一个程序在windows2003下可以运行,但是在windowsxp下不能运行。
- 怎么获取的office版本
- dllregisterserver 失败
- 如何将字符串类型转换为HorizontalAlignment枚举类型?(WinForm)
- 高分请教:那有在C#里用MSCOMM32做串口通讯的例子???
- 请教英雄:C#入调用VC++下DLL,并显示DLL中的窗体
- C#入门问题:
问题1:但是我的QueueUserWorkItem()方法并不是连续或在for里面调用,主线程可能有N个方法调用QueueUserWorkItem()。
问题2:他要把waitHandles对象作为QueueUserWorkItem()的第二个参数,但是第二个参数我已经用来传入我自己的对象了。参数的传递,可以通过线程类来完成,参看
http://blog.csdn.net/Knight94/archive/2006/08/24/1111267.aspx至于你所说的第一个问题,你可以
ThreadPool.GetAvailableThreads方法来进行替换判断。