包含VB.net定時器卡死的詞條

vb.net 多線程卡死界面,新手求前輩們幫助,感謝

“卡死”是一個非常主觀的描述,如果你要讓主線程殺掉卡死的線程,那么你必須給“卡死”做出準確的定義。

成都創(chuàng)新互聯(lián)公司2013年開創(chuàng)至今,是專業(yè)互聯(lián)網(wǎng)技術(shù)服務公司,擁有項目成都網(wǎng)站建設、成都做網(wǎng)站網(wǎng)站策劃,項目實施與項目整合能力。我們以讓每一個夢想脫穎而出為使命,1280元臺州做網(wǎng)站,已為上家服務,為臺州各地企業(yè)和個人服務,聯(lián)系電話:18980820575

什么是卡死?30秒沒有響應就是卡死?那么“沒有響應”的定義又是什么?

你給出這些條件以后,殺掉一個線程就不難。Abort方法,Dispose方法,都可以。

VB 處理數(shù)據(jù)時防止卡死

這種情況應該盡量避免,比如將大工作量的內(nèi)容拆分進行。

但肯定無法完全避免,那么給用戶顯示一個進度條就非常必要了。

如果可能,還應該配上當前進度的一些說明。比如類似: 已完成 53/70 等。

插入 DoEvents 也是可以考慮的,但必須做好必要的準備,否則會出問題。

比如說:用戶在處理過程進行到一半的時候,又按了一次按鈕,怎么辦?

在處理過程中,你的定時器Timer觸發(fā)了,導致數(shù)據(jù)變化,怎么辦?

甚至,用戶直接在過程中點了關(guān)閉按鈕,怎么辦?立刻退還是存完再退?等等。

關(guān)于VB.net Timer控件與多線程問題

Timer 是在 主線程里執(zhí)行的,Thread 是在自己的線程中執(zhí)行的,多核心的CPU使用線程能提高處理能力。回到你的問題,主線程如果卡死,timer就會失去響應,很正常的。請使用System.Timers.Timer類吧。請參考一下:

vb.net 程序運行久了以后崩潰

1、可能進入了死循環(huán),仔細檢查代碼有無這種情況。

2、無用的數(shù)據(jù)一直在累積而沒有及時銷毀,導致內(nèi)存占用越來越大,最終崩潰。要注意對象隨用隨清,及時 Dispose 掉或調(diào)用 GC.Collect。

新聞標題:包含VB.net定時器卡死的詞條
轉(zhuǎn)載來于:http://muchs.cn/article48/doeoshp.html

成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供服務器托管域名注冊、網(wǎng)站導航、網(wǎng)站維護、響應式網(wǎng)站軟件開發(fā)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

微信小程序開發(fā)