日期:2014-05-18  浏览次数:20943 次

多线程调用api的问题
我现在的情况:

我用多线程或则线程池调用 winApi (用来处理某种计算)

如何实到 该线程的计算结束?

该计算可以需要很长时间,也可能很短时间,如果使用 Sleep 函数 就会出现很难控制,或则直接导致出错

请问一下如何解决

------解决方案--------------------
最简单的做法是,在线程最后加入一段回调函数来通知主线程。
------解决方案--------------------
使用AutoResetEvents或ManualResetEvents类,主线程WaitOne,计算线程完成计算后Set,主线程就能够及时获得通知。
------解决方案--------------------
有些人喜欢使用Thread.Join方法,看你的需要而定。
------解决方案--------------------
没有做过这方面的东西。关注下。
------解决方案--------------------
函数调用结束回调一下主线程的方法