多线程循环Join的时候出错解决办法
多线程循环Join的时候出错代码:VB.NET code For ii As Integer 0 To 5 启动搜索线程组DownThr(ii) Ne
多线程循环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()
之前加个判断,如果线程已经执行完成就不要调这句
-----------------
没有线程代码,只能这么猜