如何判断新线程正在运行?
vb.net吧
全部回复
仅看楼主
level 1
蓝梦妖蝶 楼主
初学者。现在发现,经常不小心点两次,导致线程一下起了好几个。如何判断一个线程正在运行,正在运行就提示。
另一个问题,新线程如何正确退出,有时软件都关上了,仍会运行。另外,线程里的程序,运行完了,是否自动退出线程,还是说要手动退出一下。
下边是代码,没起任何作用。
buffer_test_thread = New Thread(AddressOf Buffer_test) '构造线程
buffer_test_thread.Name = "Buffer_test"
If buffer_test_thread.ThreadState = ThreadState.Running Then
MsgBox("test is running!")
Else
buffer_test_thread.Start() '启动线程
End If
2019年01月24日 07点01分 1
level 1
蓝梦妖蝶 楼主
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
buffer_test_thread = New Thread(AddressOf Buffer_test) '构造线程
buffer_test_thread.Name = "Buffer_test"
End Sub
LOAD函数里先NEW一下。然后启动的时候,再判断要不要新NEW一下。这样就不会重复运行了。
If buffer_test_thread.IsAlive Then
buffer_test_thread.Start() '启动线程
Else
buffer_test_thread = New Thread(AddressOf Buffer_test) '构造线程
buffer_test_thread.Name = "Buffer_test"
buffer_test_thread.Start() '启动线程
End If
不知这样做,正不正规。
2019年01月24日 09点01分 2
level 11
看一些文档,然后看thread都有哪些属性,没有是你需要的。
同理,其他类也是一样的,多看文档,按F1键
2019年01月24日 17点01分 3
小星星,快去看下我那个CRC转换问题
2019年01月30日 09点01分
2019年01月30日 10点01分
level 12
开启线程不是会返回一个数值吗,然后判断这个直,在线程的结束前改变这个值
2019年02月05日 13点02分 4
1