使用逻辑或使用If语句中的线程

时间:2015-08-14 12:45:06

标签: vb.net multithreading

我在程序中使用多线程,我想创建一个按钮来检查是否有任何线程仍在运行。如果后台没有运行线程,我希望按钮能够执行特定的工作,比如运行另一个线程。

我在按钮上写了以下代码:

        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操作?

1 个答案:

答案 0 :(得分:1)

如果像这样使用Or,那么你就是对变量进行逐位调整。我想你的意思是

If (thread1 Is Nothing) Or (thread2 Is Nothing) Or (thread3 Is Nothing) Then

您可能希望使用OrElse代替Or,因为这样可以避免在其中一个条件为真后检查后续条件。