你可以在timer前用if判斷網(wǎng)絡(luò)狀態(tài),
專注于為中小企業(yè)提供做網(wǎng)站、網(wǎng)站制作服務(wù),電腦端+手機端+微信端的三站合一,更高效的管理,為中小企業(yè)冷水灘免費做網(wǎng)站提供優(yōu)質(zhì)的服務(wù)。我們立足成都,凝聚了一批互聯(lián)網(wǎng)行業(yè)人才,有力地推動了上千多家企業(yè)的穩(wěn)健成長,幫助中小企業(yè)通過網(wǎng)站建設(shè)實現(xiàn)規(guī)模擴充和轉(zhuǎn)變。
如斷開,可用
threading.Thread.Sleep(10000) ‘當前線程掛起10秒
’可以開一個新線程去讀取脫機數(shù)據(jù)。
如連接,則繼續(xù)執(zhí)行。
補充:
dim i as integer
'超過100次退出,避免死循環(huán)
for i=0 to 100
try
'ping你的端口
if ‘ok
exit for
else
threading.Thread.Sleep(10000) ‘當前線程掛起10秒
end
Catch ex As Exception
End Try
next
簡單回答:
1、當前來說,編程與運行環(huán)境合適的情況下,VB.net與VB都有實現(xiàn)多線程的可能。
2、VB、VB.net的最基本的概念,是調(diào)用系統(tǒng)的接口進行編程,只要系統(tǒng)提供“多線程”的功能調(diào)用,它們就能實現(xiàn)多線程。
3、VB注意于面向用戶,面向任務(wù),其高級的一些程序?qū)崿F(xiàn)需要直接調(diào)用win的API,VB實現(xiàn)多線程的例子也可以在網(wǎng)絡(luò)上搜索到。
一、關(guān)于VB、VB.net的相關(guān)知識:
1、編程指的是用人類能理解的語言來編寫指令集,并通過專用的編譯軟件或環(huán)境來轉(zhuǎn)化這些指令,使得這些指令能讓計算機識別,從而控制計算機做人類需要進行的工作。
2、也就是說無論是VB.NET還是VB它們都只是“人類能理解的語言”,它們通過專用的編譯軟件或環(huán)境來轉(zhuǎn)化這些指令,進而操作電腦。
3、進一步特化到VB上去說。VB基于VB的運行庫,它的運行庫又基于win的API((Application Programming Interface,應(yīng)用程序編程接口)是一些預(yù)先定義的函數(shù)),也就是說,VB的很多(多到90%以上)的功能是直接基于調(diào)用windows提供的一些基本接口函數(shù)。
4、VB.net有什么不同呢,它基于.net運行庫。什么 意思?這個意思就是,微軟發(fā)現(xiàn)win的API不夠用了,不好用了,就打算在windows上加裝點東西,讓它有更多的接口函數(shù)。但要注意的是,多數(shù)情況下,這些接口比win的API的效率要低一些。在win7及以后的版本的win中,已經(jīng)自含了.net運行庫。
5、順便說,為什么很多人會發(fā)現(xiàn)win7的運行速度看起來要比xp慢呢,個人認為就是因為調(diào)用的是.net的接口來實現(xiàn)的,.net就是比API的慢。當然了,.net的功能上要比xp原有的API的功能強。
6、VB與VB.net在語法上是非常近似的,只是因為Visual Studio的版本不同,后期的Visual Studio已不提供簡純的VB了,注意它們的不同主要是后臺核心調(diào)用的理念上的不同。
Sub?Main()
Dim?thr?As?New?Thread(AddressOf?循環(huán))
thr.Start("a")
End?Sub
Sub?循環(huán)(a()?As?String)
'這里隨你干什么循環(huán)也行
For?Each?i?As?String?In?a
MsgBox(i)
Next
End?Sub
看懂了吧 參數(shù)只能有一個 也可以不是數(shù)組,在a() As String的a后面去掉括號就行
多線程是用于處理復(fù)雜項目的
打個比方
你的主程序線程A中有個循環(huán),由于代碼是一行行走的,所以循環(huán)結(jié)束前下面的代碼無法運行,而此時主界面的反應(yīng)就類似卡死的樣子,你點擊按鈕也沒有反應(yīng),因為主線程在忙著循環(huán)呢,所以對按鈕的事件代碼要等待了,如果要避免這種情況,就要用到多線程,另開一個新線程專門用來執(zhí)行循環(huán)代碼,主界面就不會卡死了,只要在循環(huán)結(jié)束后將結(jié)果傳回主線程調(diào)用就可以了,再復(fù)雜點要涉及到委托,控制了
按你的要求其實你的代碼用不到多線程,只要把sleep放到兩段代碼中間就可以了。
新線程結(jié)束用thread.abort()