“卡死”是一個非常主觀的描述,如果你要讓主線程殺掉卡死的線程,那么你必須給“卡死”做出準(zhǔn)確的定義。
為平城等地區(qū)用戶提供了全套網(wǎng)頁設(shè)計制作服務(wù),及平城網(wǎng)站建設(shè)行業(yè)解決方案。主營業(yè)務(wù)為網(wǎng)站設(shè)計、做網(wǎng)站、平城網(wǎng)站設(shè)計,以傳統(tǒng)方式定制建設(shè)網(wǎng)站,并提供域名空間備案等一條龍服務(wù),秉承以專業(yè)、用心的態(tài)度為用戶提供真誠的服務(wù)。我們深信只要達到每一位用戶的要求,就會得到認(rèn)可,從而選擇與我們長期合作。這樣,我們也可以走得更遠(yuǎn)!
什么是卡死?30秒沒有響應(yīng)就是卡死?那么“沒有響應(yīng)”的定義又是什么?
你給出這些條件以后,殺掉一個線程就不難。Abort方法,Dispose方法,都可以。
你必須用多線程。因為你當(dāng)前的線程正在執(zhí)行查詢語句,所以界面不會刷新,你也不會看到任何等待窗口。
送你一個延遲函數(shù)單位毫秒
Public Sub delay(ByRef Interval As Double)
On Error Resume Next
Dim time As DateTime = DateTime.Now
Dim Span As Double = Interval * 10000000 '因為時間是以100納秒為單位。
While ((DateTime.Now.Ticks - time.Ticks) Span)
Application.DoEvents()
End While
End Sub