vb.net判斷線程 vb判斷進程是否存在

VB.NET 簡單多線程

多線程一般是不推薦用的,因為線程之間如果有共享資源的話會引起競爭,需要加鎖處理;而且線程間沒有時序關系,所以你在調試中可能會出現(xiàn)異步處理結束順序與開始處理順序不一致的情況(我在調試中已經(jīng)發(fā)現(xiàn)該問題)。

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

針對你提出的這個問題,采用了多線程處理,利用的是BackgroundWorker也就是異步處理控件進行了處理。

代碼已經(jīng)經(jīng)過調試通過。歡迎交流,如有問題,留下QQ或其他聯(lián)系方式。

代碼如下,并附程序截圖。

‘---------------------------------------------------

Imports?System.ComponentModel?'導入異步控件命名空間

Public?Class?Form1

Private?howmany?As?Integer?=?10

Private?AnalysisNumber(0?To?howmany?-?1)?As?BackgroundWorker

Private?Sub?Button1_Click(ByVal?sender?As?System.Object,?ByVal?e?As?System.EventArgs)?Handles?Button1.Click

ListBox1.Items.Clear()

creatNewBackgroundWorker()

addHandle()

startWork()

End?Sub

Private?Sub?creatNewBackgroundWorker()

For?i?As?Integer?=?0?To?AnalysisNumber.Length?-?1

AnalysisNumber(i)?=?New?BackgroundWorker

Next

End?Sub

Private?Sub?addHandle()

For?i?As?Integer?=?0?To?AnalysisNumber.Length?-?1

AddHandler?AnalysisNumber(i).DoWork,?AddressOf?AnalysisNumber_DoWork

AddHandler?AnalysisNumber(i).RunWorkerCompleted,?AddressOf?AnalysisNumber_RunWorkerCompleted

Next

End?Sub

Private?Sub?startWork()

For?i?As?Integer?=?0?To?9

Dim?temp(0?To?9)?As?Integer

For?j?As?Integer?=?1?To?10

temp(j?-?1)?=?10?*?i?+?j

Next

AnalysisNumber(i).RunWorkerAsync(temp)

Next

End?Sub

Private?Sub?AnalysisNumber_DoWork(ByVal?sender?As?Object,?ByVal?e?As?System.ComponentModel.DoWorkEventArgs)

Dim?data?As?Integer()

data?=?CType(e.Argument,?Integer())

Dim?temp?As?Integer

For?i?As?Integer?=?0?To?data.Length?-?1

temp?=?data(i)

data(i)?=?temp?*?temp

Next

e.Result?=?data

End?Sub

Private?Sub?AnalysisNumber_RunWorkerCompleted(ByVal?sender?As?Object,?ByVal?e?As?System.ComponentModel.RunWorkerCompletedEventArgs)

Dim?data?As?Integer()

data?=?CType(e.Result,?Integer())

For?i?As?Integer?=?0?To?data.Length?-?1

ListBox1.Items.Add(data(i))

Next

End?Sub

End?Class

求大神指導VB.net 線程 ThreadState 的使用方法 怎么獲取線程狀態(tài),是否被掛起堵塞停止等等

用time控件啊,獲取threadstate后,按指定時間間隔規(guī)定向界面刷新,線程必須是全局變量

用一個有退出條件的無限循環(huán)的sub也行。

線程開始就觸發(fā)該過程,用無限循環(huán)來刷新狀態(tài),線程完成即退出無限循環(huán)。局部變量的線程也可以用這種方式。

不過用法要正確,否則會出問題。

vb.net 多線程操作出錯

還是并發(fā)加鎖,你判斷時候,上一個線程還未執(zhí)行_datalist.RemoveAt(0),所0,然后就會出錯了,你最好先 Remove到一個變量里,然后執(zhí)行發(fā)送,在Remove和判斷的時候加鎖

vb.net如何判斷線程執(zhí)行完畢?

我給你一個簡單的思路:

1,定義5個公共布爾變量,用來記錄5個線程的執(zhí)行情況

2,線程開始變量賦值假,執(zhí)行完畢或者異常退出賦值真

3,一直用一個定時器掃描5個公共布爾變量----------隨時知道狀態(tài)

VB.net多線程編程問題

你可以在timer前用if判斷網(wǎng)絡狀態(tài),

如斷開,可用

threading.Thread.Sleep(10000) ‘當前線程掛起10秒

’可以開一個新線程去讀取脫機數(shù)據(jù)。

如連接,則繼續(xù)執(zhí)行。

補充:

dim i as integer

'超過100次退出,避免死循環(huán)

for i=0 to 100

try

'ping你的端口

if ‘ok

exit for

else

threading.Thread.Sleep(10000) ‘當前線程掛起10秒

end

Catch ex As Exception

End Try

next

求教VB.net多線程問題

多線程是用于處理復雜項目的

打個比方

你的主程序線程A中有個循環(huán),由于代碼是一行行走的,所以循環(huán)結束前下面的代碼無法運行,而此時主界面的反應就類似卡死的樣子,你點擊按鈕也沒有反應,因為主線程在忙著循環(huán)呢,所以對按鈕的事件代碼要等待了,如果要避免這種情況,就要用到多線程,另開一個新線程專門用來執(zhí)行循環(huán)代碼,主界面就不會卡死了,只要在循環(huán)結束后將結果傳回主線程調用就可以了,再復雜點要涉及到委托,控制了

按你的要求其實你的代碼用不到多線程,只要把sleep放到兩段代碼中間就可以了。

新線程結束用thread.abort()

網(wǎng)頁題目:vb.net判斷線程 vb判斷進程是否存在
地址分享:http://muchs.cn/article48/doooghp.html

成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供品牌網(wǎng)站建設、建站公司、外貿網(wǎng)站建設、ChatGPT、企業(yè)網(wǎng)站制作、網(wǎng)站設計公司

廣告

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

營銷型網(wǎng)站建設