Foxtable(狐表)用户栏目专家坐堂 → [求助] 判断一个线程,是否正在执行。


  共有2795人关注过本帖树形打印复制链接

主题:[求助] 判断一个线程,是否正在执行。

帅哥哟,离线,有人找我吗?
lsy
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:5246 积分:33163 威望:0 精华:8 注册:2013/1/17 21:28:00
[求助] 判断一个线程,是否正在执行。  发帖心情 Post By: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
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:35433 积分:178524 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2014/5/29 16:16:00 [只看该作者]

if th.IsAlive then

 回到顶部
帅哥哟,离线,有人找我吗?
lsy
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:5246 积分:33163 威望:0 精华:8 注册:2013/1/17 21:28:00
  发帖心情 Post By: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
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:35433 积分:178524 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2014/5/29 16:29:00 [只看该作者]

如果你是遍历,每次生成的TH都是全新的, 你判断它也没用.

你把这个TH弄成全局变量

 回到顶部
帅哥哟,离线,有人找我吗?
lsy
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:5246 积分:33163 威望:0 精华:8 注册:2013/1/17 21:28:00
  发帖心情 Post By:2014/5/29 16:34:00 [只看该作者]

谢谢啦。

 回到顶部
帅哥哟,离线,有人找我吗?
lsy
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:5246 积分:33163 威望:0 精华:8 注册:2013/1/17 21:28:00
  发帖心情 Post By:2014/5/29 17:27:00 [只看该作者]

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

还是在过程中解决了。


 回到顶部