For investors
股價(jià):
5.36 美元 %For investors
股價(jià):
5.36 美元 %認(rèn)真做教育 專心促就業(yè)
執(zhí)行線程對(duì)象
當(dāng)定義Execute方法實(shí)現(xiàn)線程類后,可在應(yīng)用程序中使用它來啟動(dòng)Execute方法的代碼。要使用線程,首先創(chuàng)建線程類的一個(gè)實(shí)例??梢詣?chuàng)建立即開始運(yùn)行的線程實(shí)例,或創(chuàng)建一個(gè)處于臨時(shí)中斷狀態(tài)的線程,只在調(diào)用Resume方法時(shí)開始。要?jiǎng)?chuàng)建一個(gè)立即開始運(yùn)行的線程實(shí)例,將構(gòu)造函數(shù)的CreateSuspended參數(shù)設(shè)為false。
例如,下列代碼創(chuàng)建一個(gè)線程并開始執(zhí)行:
警告 不要在應(yīng)用程序中創(chuàng)建太多線程。管理多個(gè)線程的過大開銷會(huì)降低效率。推薦界限是在單處理器系統(tǒng)中每一進(jìn)程可包含16個(gè)線程。這個(gè)界限假定大多數(shù)線程正等待外部事件。若所有線程都是活動(dòng)的,你可能就會(huì)想到應(yīng)少用些線程了。
可創(chuàng)建同一個(gè)線程類的多個(gè)實(shí)例來執(zhí)行并行代碼。例如,可啟動(dòng)線程的一個(gè)新的實(shí)例以響應(yīng)用戶操作,以使每個(gè)線程都執(zhí)行預(yù)期的響應(yīng)。
重載缺省優(yōu)先級(jí)
線程使用的CPU時(shí)間量隱含在線程的任務(wù)中,其優(yōu)先級(jí)在構(gòu)造函數(shù)中設(shè)置。
然而,若線程優(yōu)先級(jí)依賴于何時(shí)被運(yùn)行而變化,可在臨時(shí)中斷狀態(tài)創(chuàng)建線程,設(shè)置優(yōu)先級(jí),并開始運(yùn)行線程:
開始和停止線程
在完成執(zhí)行之前線程可被隨意開始和停止。要臨時(shí)停止線程,調(diào)用它們的Suspend方法。需繼續(xù)時(shí),調(diào)用Resume方法。Suspend方法用內(nèi)部的計(jì)數(shù)器計(jì)數(shù),因此可嵌套調(diào)用Suspend和Resume。在所有的Suspend與Resume匹配前線程不會(huì)繼續(xù)執(zhí)行。
可通過調(diào)用Terminate方法要求線程結(jié)束執(zhí)行。Terminate將線程Terminated屬性設(shè)為true。若已適當(dāng)?shù)貙?shí)現(xiàn)了Execute方法,它會(huì)定期檢查Terminated屬性,并在其為true時(shí)停止執(zhí)行。
【免責(zé)聲明】本文部分系轉(zhuǎn)載,轉(zhuǎn)載目的在于傳遞更多信息,并不代表本網(wǎng)贊同其觀點(diǎn)和對(duì)其真實(shí)性負(fù)責(zé)。如涉及作品內(nèi)容、版權(quán)和其它問題,請(qǐng)?jiān)?0日內(nèi)與聯(lián)系我們,我們會(huì)予以更改或刪除相關(guān)文章,以保證您的權(quán)益!