我正在開發一個將數據發送到微控制器的小應用程序。無論如何,它的一部分包含一秒鐘內從網絡服務器下載數據,並在數據發生變化時將數據轉發給微控制器。每秒重複一次該程序,我打電話給一個計時器。要從互聯網獲取數據,我正在使用一個線程。問題是,計時器在一定的(隨機的,但通常是1-3)執行次數之後,會定期停止重複。可能是,它等待線程從互聯網上獲取數據,但我不確定它會一直保持在那裏。代碼如下。這是使用一個線程VB.NET - 計時器無法正常使用線程
Private Sub dlstatus()
str2 = enc.GetString(wc.DownloadData(link2))
End sub
稱爲
定時器代碼
Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
thread = New System.Threading.Thread(AddressOf dlstatus)
thread.Start()
If ((s1sub1 <> s2sub1)) Then
'Func1
ElseIf (s2sub2 = "n") Then
'Func2
Endif
End sub
dlstatus功能我希望計時器繼續不停止循環。任何想法如何使它如此?請幫忙。謝謝..
P.S請讓我知道如果你需要任何更多的細節......
當然,你可以只使用一個'雖然...... End'聲明?請原諒我,如果我簡單地過分簡化了.. – adaam 2013-05-12 22:06:07
把** While ... End'循環放在** BackgroundWorker()** DoWork()處理程序中並在底部使它Sleep()一秒鐘,以便它再次刷新最後一次更新完成後一秒鐘。只需使用BackgroundWorker()提供的一個線程;不再需要任何東西。 – 2013-05-12 22:41:06
感謝你們所有人的回覆。 BackgroundWorker爲我做的工作很好。 – kidcoder 2013-05-14 16:43:32