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

两个循环“一起”运行,真的需要VB忍受多线程吗?

2013年02月04日 ⁄ 综合 ⁄ 共 544字 ⁄ 字号 评论关闭
 

有很多时候,我们需要两个循环在同一时间内运行,例如要显示一个总进度和一个单文件进度,当出现这样的情况时,我们需要多线程吗?这是我们要讨论的问题,关于多线程来提高速度不是我们要做的。

如果答案是未必,我相信大多数人会放弃多线程。

实现方法:模拟CPU的运行,让循环轮换执行

优点:两个循环“同时”执行,不需要多线程

缺点:不会提高程序运行的效率,但一般不会产生明显影响

代码:

'测试前添加2个COMMAND,名称默认

Option Explicit
Dim mBoolean As Boolean
Dim i As Long, j As Long

Private Sub Command1_Click()
Do While i < 100
mBoolean = Not mBoolean
If mBoolean Then Command2_Click
i = i + 1
Print "cmd1do", i
DoEvents
Loop
End Sub

Private Sub Command2_Click()
Do While j < 100
DoEvents
mBoolean = Not mBoolean
If mBoolean Then Command1_Click
j = j + 1
Print "cmd2do", j
Loop
End Sub

 

可以测试代码了,点COMMAND1或点COMMAND2让循环开始效果是不同的:)

抱歉!评论已关闭.