新聞中心
PRESS CENTENR一、使用線程的理由
1、可以使用線程將代碼同其他代碼隔離,提高應用程序的可靠性。
2、可以使用線程來簡化編碼。
3、可以使用線程來實現(xiàn)并發(fā)執(zhí)行。
二、基本知識
1、進程與線程:進程作為操作系統(tǒng)執(zhí)行程序的基本單位,擁有應用程序的資源,進程包含線程,進程的資源被線程共享,線程不擁有資源。
2、前臺線程和后臺線程:通過Thread類新建線程默認為前臺線程。當所有前臺線程關(guān)閉時,所有的后臺線程也會被直接終止,不會拋出異常。
3、掛起(Suspend)和喚醒(Resume):由于線程的執(zhí)行順序和程序的執(zhí)行情況不可預知,所以使用掛起和喚醒容易發(fā)生死鎖的情況,在實際應用中應該盡量少用。
4、阻塞線程:Join,阻塞調(diào)用線程,直到該線程終止。
5、終止線程:Abort:拋出ThreadAbortException 異常讓線程終止,終止后的線程不可喚醒。Interrupt:拋出ThreadInterruptException 異常讓線程終止,通過捕獲異??梢岳^續(xù)執(zhí)行。
6、線程優(yōu)先級:AboveNormal BelowNormal Highest Lowest Normal,默認為Normal。
三、線程的使用
1、’線程函數(shù)通過委托傳遞,可以不帶參數(shù),也可以帶參數(shù)(只能有一個參數(shù)),可以用一個類或結(jié)構(gòu)體封裝參數(shù)。
2、使用委托開啟多線程(多線程深入),用委托(Delegate)的BeginInvoke和EndInvoke方法操作線程BeginInvoke方法可以使用線程異步地執(zhí)行委托所指向的方法。然后通過EndInvoke方法獲得方法的返回值(EndInvoke方法的返回值就是被調(diào)用方法的返回值),或是確定方法已經(jīng)被成功調(diào)用。
本文由醫(yī)療自助服務系統(tǒng)-醫(yī)療信息化產(chǎn)品供應商-中技互聯(lián):0771lihunwang.com
