真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

包含vb.netexit的詞條

vb.net如何徹底退出進(jìn)程?

主窗體代碼調(diào)用Me.close不就可以了嗎?或者在任意代碼處調(diào)用Application.Exit()。如果不起作用的話是因?yàn)槟阍诖绑w關(guān)閉的事件中調(diào)用了e.Handle=True

創(chuàng)新互聯(lián)公司IDC提供業(yè)務(wù):綿陽(yáng)服務(wù)器托管,成都服務(wù)器租用,綿陽(yáng)服務(wù)器托管,重慶服務(wù)器租用等四川省內(nèi)主機(jī)托管與主機(jī)租用業(yè)務(wù);數(shù)據(jù)中心含:雙線機(jī)房,BGP機(jī)房,電信機(jī)房,移動(dòng)機(jī)房,聯(lián)通機(jī)房。

在.net(C# or vb.net)中,Application.Exit還是Form.Close有什么不同?

應(yīng)該從英文的字面上去理解這兩個(gè)方法。Application.Exit 意思是 應(yīng)用程序調(diào)用退出方法,也就是整個(gè)應(yīng)用程序退出。那么它會(huì)關(guān)閉整個(gè)應(yīng)用程序的進(jìn)程,以及后臺(tái)線程。Form.Close 意思是窗體調(diào)用關(guān)閉方法,也就是關(guān)閉當(dāng)前窗體。那么它只會(huì)退出當(dāng)前關(guān)閉的窗體線程,而整個(gè)應(yīng)用程序進(jìn)程是不會(huì)關(guān)閉的。

vb.net中如何結(jié)束一個(gè)線程

vb.net中如何結(jié)束一個(gè)線程

一般而言,如果您想終止一個(gè)線程,您可以使用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())

當(dāng)然,在調(diào)用Abort方法后,線程并不是立刻終止,要等線程的所有finally快中的代碼完成后才會(huì)完全終止. 所以在主線程中可以用Join方法來(lái)同步,當(dāng)線程還未完全終止時(shí),t.Join()將處于等待,直到t線程完全結(jié)束后再繼續(xù)執(zhí)行后面的語(yǔ)句。

Abort方法是會(huì)導(dǎo)致線程跳出一個(gè)異常錯(cuò)誤的,你需要在代碼中捕獲該異常。下面是一個(gè)比較完整的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()方法用來(lái)永久銷毀一個(gè)線程,而且將拋出ThreadAbortException異常。使終結(jié)的線程可以捕獲到異常但是很難控制恢復(fù),僅有的辦法是調(diào)用Thread.ResetAbort()來(lái)取消剛才的調(diào)用,而且只有當(dāng)這個(gè)異常是由于被調(diào)用線程引起的異常。因此,A線程可以正確的使用Thread.Abort()方法作用于B線程,但是B線程卻不能調(diào)用Thread.ResetAbort()來(lái)取消Thread.Abort()操作。


網(wǎng)頁(yè)題目:包含vb.netexit的詞條
網(wǎng)站路徑:http://weahome.cn/article/ddcssii.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部