注册 登录
编程论坛 VB6论坛

如何使用MsgWaitForMultipleObjects在主函数的循环中反复等待子线程的一个变量

jjvictor 发布于 2013-07-13 21:04, 574 次点击
可否告诉我如何使用MsgWaitForMultipleObjects在主函数的循环中反复等待子线程的一个变量。
目前我用的是:
Public Sub WaitFor()  
   Do While WD     
      If wzc Mod 10 = 0 Then Form1.Label1.Caption = wzc     
      DoEvents  
   Loop
End Sub
其中:WaitFor函数在模块中,WD  as boolean,wzc as long 都是模块变量,而wzc被传入子线程的函数中并被不断赋值。
这种方法可以成功的不断在窗体上显示wzc值,但是会占用一定cpu用量。
不知道可否使用MsgWaitForMultipleObjects将cpu占用率降下来。
1 回复
#2
风吹过b2013-07-15 17:42
主线程中,可否使用定时器??
死循环肯定开销很大的。
如果不能使用定时器,那么在死循环里,使用 线程挂起吧。

或者在子线程里使用 消息 、 事件。
1