我在程序中使用多线程,我想创建一个按钮来检查是否有任何线程仍在运行。如果后台没有运行线程,我希望按钮能够执行特定的工作,比如运行另一个线程。
我在按钮上写了以下代码:
If thread1 Or thread2 Or thread3 is Nothing Then
thread2 = New Thread(AddressOf Me.thread2_engine)
thread2.Start()
Else If thread2.IsAlive = True Then
MsgBox("Processing right now, Please wait")
End If
为什么我不能在if语句中使用Or
操作?
答案 0 :(得分:1)
如果像这样使用Or
,那么你就是对变量进行逐位调整。我想你的意思是
If (thread1 Is Nothing) Or (thread2 Is Nothing) Or (thread3 Is Nothing) Then
您可能希望使用OrElse
代替Or
,因为这样可以避免在其中一个条件为真后检查后续条件。