Me.Invoke(d, i)
成都創(chuàng)新互聯(lián)是少有的成都網(wǎng)站制作、成都做網(wǎng)站、營銷型企業(yè)網(wǎng)站、微信平臺(tái)小程序開發(fā)、手機(jī)APP,開發(fā)、制作、設(shè)計(jì)、賣友情鏈接、推廣優(yōu)化一站式服務(wù)網(wǎng)絡(luò)公司,于2013年開始,堅(jiān)持透明化,價(jià)格低,無套路經(jīng)營理念。讓網(wǎng)頁驚喜每一位訪客多年來深受用戶好評(píng)
問題出在這里!
直接用Me.Invoke把實(shí)際的執(zhí)行任務(wù)提交給主線程運(yùn)行
所以你的處理函數(shù)實(shí)際上是在主線程中運(yùn)行的,新線程等于沒用
正確的作法是,定義一個(gè)函數(shù)為入口的線程,并啟動(dòng)它
在需要調(diào)用的時(shí)候再使用Invoke來調(diào)用委托來進(jìn)行更改。
----------------------------------------------------------------
方法已經(jīng)給你說明白了,新建1個(gè)線程和2個(gè)線程來操作有什么不通用的哪??
問題不是線程個(gè)數(shù)的問題,是你線程中的函數(shù)一直在調(diào)用settext和settext1兩個(gè)函數(shù),而這兩個(gè)函數(shù)都是處于method 方法 的while的循環(huán)中,相當(dāng)于不間歇的在使用 Me.Invoke(d, i)這個(gè)方法。
----------------------------------------------------------------
如果你要不停地通過另外一個(gè)線程修改richtextbox內(nèi)的內(nèi)容,那也可以新啟動(dòng)一個(gè)線程,由這個(gè)線程的入口方法創(chuàng)建一個(gè)richtextbox ,再由這個(gè)線程來對(duì)這個(gè)richtextbox 進(jìn)行操作。當(dāng)然,你也可以用不安全的線程間的操作方法來實(shí)現(xiàn)。
同學(xué)。。你這里的寫法其實(shí)根本沒有用到多線程
原因很簡單
你是定義了一個(gè)T的新線程,但是很可惜你在BeginDoSub這個(gè)獨(dú)立的線程中又定義了一個(gè)deSomeSub的委托,并且直接用Me.Invoke把實(shí)際的執(zhí)行任務(wù)提交給界面主線程運(yùn)行了
所以你的圖片的處理函數(shù)實(shí)際上是在主線程中運(yùn)行的,新線程等于沒用
正確的作法是,T定義為SomeSub這個(gè)函數(shù)為入口的線程,并啟動(dòng)它
在界面進(jìn)度條更改的時(shí)候再使用Invoke來調(diào)用委托來進(jìn)行界面更改。
自己再好好看看吧,時(shí)間問題我要走了。
感覺問題出在
Form2.Show() '啟動(dòng)倒計(jì)時(shí)顯示窗口
這一句上。
這一句應(yīng)該只需要執(zhí)行一次就行了。
把它放在timer中,多次調(diào)用,造成假死。
并沒有看出什么地方可能導(dǎo)致程序假死,這排版也太亂了.不妨調(diào)試一下程序,當(dāng)出現(xiàn)你說的"假死"后暫停一下程序,看看線程都卡在哪里.
另外,從設(shè)計(jì)上來看,你這里并不需要多線程操作.
文章標(biāo)題:vb.net避免假死的簡單介紹
網(wǎng)站URL:http://muchs.cn/article12/ddcijdc.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供ChatGPT、面包屑導(dǎo)航、外貿(mào)網(wǎng)站建設(shè)、品牌網(wǎng)站建設(shè)、自適應(yīng)網(wǎng)站、小程序開發(fā)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)