vb.net避免假死的簡單介紹

vb.net 線程托管 窗口假死

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)。

vb.net多線程,循環(huán)導(dǎo)致窗口界面假死的問題

同學(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í)間問題我要走了。

vb.net 多線程調(diào)用另一窗口,假死現(xiàn)象,如何解決

感覺問題出在

Form2.Show() '啟動(dòng)倒計(jì)時(shí)顯示窗口

這一句上。

這一句應(yīng)該只需要執(zhí)行一次就行了。

把它放在timer中,多次調(diào)用,造成假死。

關(guān)于VB.NET中多線程和委托界面假死無響應(yīng)的問題

并沒有看出什么地方可能導(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)

成都定制網(wǎng)站網(wǎng)頁設(shè)計(jì)