读书人

多线程循环Join的时候出错解决办法

发布时间: 2012-04-13 13:50:24 作者: rapoo

多线程循环Join的时候出错
代码:

VB.NET code
 For ii As Integer = 0 To 5 '启动搜索线程组                DownThr(ii) = New Thread(AddressOf MyDown.Start)                DownThr(ii).IsBackground = True                DownThr(ii).Start()            Next            For ii As Integer = 0 To 5                DownThr(ii).Join()            Next
以上代码先FOR循环启动了5个线程执行MyDown.Start
已经成功了,然后为了确定所有5个线程执行完毕,用了FOR循环进行Join,这个时候问题出现了,有时候正常,有时候会出现错误,提示未实例化对象的错误,而有的时候没有等所有线程结束就提示执行完了,然后由于是后台线程,主线程完了5个子线程也就跟着完了,请教高手解决办法

[解决办法]
DownThr(ii).Join()
之前加个判断,如果线程已经执行完成就不要调这句

-----------------
没有线程代码,只能这么猜

读书人网 >VB Dotnet

热点推荐