以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助] 判断一个线程,是否正在执行。  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=51610)

--  作者:lsy
--  发布时间:2014/5/29 16:11:00
--  [求助] 判断一个线程,是否正在执行。

如何判断一个线程,是否正在执行。

 

Dim th As System.Threading.Thread = New System.Threading.Thread(AddressOf SaveData)
th.IsBackground = True

If th不是正在执行 Then
    th.Start()

End If


--  作者:Bin
--  发布时间:2014/5/29 16:16:00
--  
if th.IsAlive then
--  作者:lsy
--  发布时间:2014/5/29 16:26:00
--  

Dim th As System.Threading.Thread = New System.Threading.Thread(AddressOf SaveData)
th.IsBackground = True

If th.IsAlive = False Then
    th.Start()

End If

 

这样判断以后,还是能够反复重新执行这个线程。

怎么样才能等这个线程结束或者没有开始,才允许重新开始执行?

 

还有,怎么人为中止这个线程。

[此贴子已经被作者于2014-5-29 16:28:09编辑过]

--  作者:Bin
--  发布时间:2014/5/29 16:29:00
--  
如果你是遍历,每次生成的TH都是全新的, 你判断它也没用.

你把这个TH弄成全局变量

--  作者:lsy
--  发布时间:2014/5/29 16:34:00
--  
谢谢啦。
--  作者:lsy
--  发布时间:2014/5/29 17:27:00
--  

通过线程的状态,来判断是否再次执行这个线程,没成。

还是在过程中解决了。