vb.net教程線程 VB多線程實例

vb.net中如何結束一個線程

vb.net中如何結束一個線程

當陽網站制作公司哪家好,找創新互聯公司!從網頁設計、網站建設、微信開發、APP開發、響應式網站設計等網站項目制作,到程序開發,運營維護。創新互聯公司自2013年創立以來到現在10年的時間,我們擁有了豐富的建站經驗和運維經驗,來保證我們的工作的順利進行。專注于網站建設就選創新互聯公司。

一般而言,如果您想終止一個線程,您可以使用System.Threading.Thread類的Abort方法. 例如:

Dim worker As ThreadStart = New ThreadStart(AddressOf workerthreadmethod)

Dim t As Thread = New Thread(worker)

t.Start()

MessageBox.Show("Wait for a while for the thread to start.")

MessageBox.Show(t.ThreadState.ToString())

t.Abort()

MessageBox.Show(t.ThreadState.ToString())

t.Join()

MessageBox.Show(t.ThreadState.ToString())

當然,在調用Abort方法后,線程并不是立刻終止,要等線程的所有finally快中的代碼完成后才會完全終止. 所以在主線程中可以用Join方法來同步,當線程還未完全終止時,t.Join()將處于等待,直到t線程完全結束后再繼續執行后面的語句。

Abort方法是會導致線程跳出一個異常錯誤的,你需要在代碼中捕獲該異常。下面是一個比較完整的VB.NET線程例子:

Imports System

Imports System.Threading

Public Class MyTestApp

Public Shared Sub Main()

Dim t As New Thread(New ThreadStart(AddressOf MyThreadMethod))

'Start the thread

t.Start()

MsgBox("Are you ready to kill the thread?")

'Kill the child thread and this will cause the thread raise an exception

t.Abort()

' Wait for the thread to exit

t.Join()

MsgBox("The secondary thread has terminated.")

End Sub

Shared Sub MyThreadMethod()

Dim i As Integer

Try

Do While True

Thread.CurrentThread.Sleep(1000)

Console.WriteLine("This is the secondary thread running.")

Loop

Catch e As ThreadAbortException

MsgBox("This thread is going to be terminated by the Abort method in the Main function")

End Try

End Sub

End Class

Thread.Abort()方法用來永久銷毀一個線程,而且將拋出ThreadAbortException異常。使終結的線程可以捕獲到異常但是很難控制恢復,僅有的辦法是調用Thread.ResetAbort()來取消剛才的調用,而且只有當這個異常是由于被調用線程引起的異常。因此,A線程可以正確的使用Thread.Abort()方法作用于B線程,但是B線程卻不能調用Thread.ResetAbort()來取消Thread.Abort()操作。

vb.net 怎樣操作帶參數的多線程

public class threadclass

{

public int a;

public void threadmethod()

{

//use a;

}

}

...

threadclass tc = new ....

tc.a = 10;

Thread t = new ThreadStart(tc.threadmethod);

t.Start

vb.net里如何設置多線程?

首先,你把你那些要運行很久的過程。盡量放在一個過程中。

因為線程只能是過程,不能使函數,沒有返回值的。

然后,在某個事件下這樣寫:

**這里我假設你的那個很就的過程叫做 sub aaa()

調用如下:

Dim mythread As New System.Threading.Thread(AddressOf aaa)

mythread.Start()

***********

這樣就是定義一個線程,名字叫 mythread,這個線程會運行aaa這個過程。

start 就是讓線程運行。

VB.NET 多線程簡化步驟問題

過程只需要1個,線程你要多少就需要創建多少,這個可以用循環來創建:

Dim Thd(99) As Thread

For i As Integer =0 to 99

Thd(i)=New Thread(AddressOf Start)

Thd(i).Start()

Next

如果你不需要保留這些線程的引用

那個數組也可以省略掉

直接在循環中(New Thread(AddressOf Start)).Start()就行了

---------------------------------------------------------------------------

代碼不是在IDE中打的,可能有細微小錯誤

VB.net 如何設計多線程運行

Sub Main()

Dim thr As Thread

For Pi As Integer=0 To 4 //啟用5線程

MulParams =Pi vbTab sFile vbTab dFile vbTab 1 vbTab DelN vbTab cr vbTab cg vbTab cb vbTab IndexI

GlobalParamas(pi)=MulParams .Split(vbTab)

thr=New Thread(AddressOf MyMulThreadCaller)

thr.Start() //啟動多線程進程

Application.DoEvents

Next

End Sub

新聞標題:vb.net教程線程 VB多線程實例
本文URL:http://m.kartarina.com/article6/dodsiig.html

成都網站建設公司_創新互聯,為您提供微信小程序、Google、定制網站動態網站、App設計關鍵詞優化

廣告

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

成都網頁設計公司
主站蜘蛛池模板: 人妻精品久久无码区洗澡| 国产在线精品无码二区| 久久精品无码一区二区无码| 亚洲精品无码永久在线观看你懂的| 国产成人亚洲综合无码精品| 在线观看无码AV网址| 无码AV一区二区三区无码| 久久精品国产亚洲AV无码偷窥| 无码丰满熟妇一区二区| 中文无码人妻有码人妻中文字幕| av区无码字幕中文色| 亚洲Av无码乱码在线观看性色| 亚洲中文字幕在线无码一区二区| 人妻丰满熟妇AV无码区免| 国产午夜精品无码| 国产精品无码久久久久久久久久| 精品无码国产污污污免费网站| 一本大道无码日韩精品影视_| 亚洲精品无码中文久久字幕| 国产免费无码AV片在线观看不卡| 国产午夜av无码无片久久96| 97久久精品无码一区二区天美| 中文字幕人妻无码一区二区三区 | 在线观看成人无码中文av天堂| 亚洲国产综合无码一区二区二三区| 91精品久久久久久无码| 久久久久亚洲AV片无码| 2014AV天堂无码一区| 国产精品第一区揄拍无码| 无码日韩精品一区二区免费| 免费A级毛片无码无遮挡内射| 久久精品成人无码观看56| 永久无码精品三区在线4| 色综合热无码热国产| 无码中文字幕人妻在线一区二区三区| av无码国产在线看免费网站| 亚洲人成人无码.www石榴 | 亚洲自偷自偷偷色无码中文| 亚洲va中文字幕无码| 精品一区二区三区无码视频| 精品无码久久久久久久久水蜜桃|