“卡死”是一個(gè)非常主觀的描述,如果你要讓主線程殺掉卡死的線程,那么你必須給“卡死”做出準(zhǔn)確的定義。
在博湖等地區(qū),都構(gòu)建了全面的區(qū)域性戰(zhàn)略布局,加強(qiáng)發(fā)展的系統(tǒng)性、市場(chǎng)前瞻性、產(chǎn)品創(chuàng)新能力,以專(zhuān)注、極致的服務(wù)理念,為客戶提供網(wǎng)站設(shè)計(jì)制作、網(wǎng)站建設(shè) 網(wǎng)站設(shè)計(jì)制作按需網(wǎng)站策劃,公司網(wǎng)站建設(shè),企業(yè)網(wǎng)站建設(shè),成都品牌網(wǎng)站建設(shè),全網(wǎng)整合營(yíng)銷(xiāo)推廣,外貿(mào)網(wǎng)站制作,博湖網(wǎng)站建設(shè)費(fèi)用合理。
什么是卡死?30秒沒(méi)有響應(yīng)就是卡死?那么“沒(méi)有響應(yīng)”的定義又是什么?
你給出這些條件以后,殺掉一個(gè)線程就不難。Abort方法,Dispose方法,都可以。
Sub bc()
Dim cs As New qq163(AddressOf js)
Application.DoEvnts
Invoke(cs)
End Sub
1、重新生成
2、下邊提示主數(shù)據(jù)連接沒(méi)有應(yīng)答,是不是沒(méi)有運(yùn)行到這一步
加斷點(diǎn)看有沒(méi)有運(yùn)行到這一步
用
t.Suspend() 這個(gè)是掛起線程。是一個(gè)異步方法。
t.Sleep 我看了是一個(gè)同步方法。要等這個(gè)方法運(yùn)行完了才繼續(xù)下一步。
這和from.show和 from.showdiaglog區(qū)別差不多!
至于疑問(wèn)2我也沒(méi)找到原因。
在處理過(guò)程中沒(méi)幾個(gè)循環(huán)執(zhí)行一次DoEvents語(yǔ)句,可以讓窗體有響應(yīng),但會(huì)讓處理速度變慢,這是最簡(jiǎn)單的辦法。不然就只能考慮多線程了,不過(guò)VB6的多線程不是很穩(wěn)定,調(diào)試運(yùn)行容易崩潰,要多一些代碼控制線程,如果真的要多線程的話可以看看這里
在button1的Click事件處理方法中加上一句試試看
private?void?button1_Click(object?sender,?EventArgs?e)
{
//?原來(lái)的代碼不變……
//?最后加上這句
this.Focus();
}
另外,必須保讓你窗口是當(dāng)前活動(dòng)窗口!