這個(gè)沒法做到。原因
創(chuàng)新互聯(lián)公司公司2013年成立,是專業(yè)互聯(lián)網(wǎng)技術(shù)服務(wù)公司,擁有項(xiàng)目成都網(wǎng)站設(shè)計(jì)、成都網(wǎng)站建設(shè)網(wǎng)站策劃,項(xiàng)目實(shí)施與項(xiàng)目整合能力。我們以讓每一個(gè)夢(mèng)想脫穎而出為使命,1280元浉河做網(wǎng)站,已為上家服務(wù),為浉河各地企業(yè)和個(gè)人服務(wù),聯(lián)系電話:13518219792
1)當(dāng)你將方法排入線程池隊(duì)列后,此方法在有線程池線程變得可用時(shí)執(zhí)行。
2)線程池中某個(gè)線程的可用與不可用,是由.net 后臺(tái)決定,用戶程序無法控制的
3)正如你觀察到的:線程啟動(dòng)的時(shí)間不同,有快有慢,這恰恰說明線程池起作用了:線程池的調(diào)度試圖讓程序響應(yīng)達(dá)到最佳。
我告訴你思路,你自己去實(shí)現(xiàn)。
建議你用“守護(hù)線程”的方式去做,這樣做對(duì)于你一個(gè)小任務(wù)來說更合適。首先,你要建立一個(gè)隊(duì)列,將所有下載任務(wù)放入隊(duì)列。注意,這個(gè)隊(duì)列必須是“線程安全”的,即兩個(gè)線程不會(huì)搶到同一個(gè)任務(wù)。然后只開10個(gè)線程。這些線程會(huì)從隊(duì)列中讀取任務(wù)。當(dāng)一個(gè)線程不能再?gòu)年?duì)列中讀取任務(wù)時(shí),也就是隊(duì)列為空時(shí),退出。等所有線程都退出后,你的程序就結(jié)束了。
還有一種方法,叫“線程池”,也就是你說的方法,稍微復(fù)雜一點(diǎn):
指定一個(gè)變量,用來表示線程的數(shù)量。剛開始為0,每開一個(gè)線程+1。當(dāng)一個(gè)線程完成任務(wù)退出后,這個(gè)變量-1。直到所有任務(wù)都完成后,不再產(chǎn)生新線程。
這個(gè)沒法做到。原因
1)當(dāng)你將方法排入線程池隊(duì)列后,此方法在有線程池線程變得可用時(shí)執(zhí)行。
2)線程池中某個(gè)線程的可用與不可用,是由.net 后臺(tái)決定,用戶程序無法控制的
3)正如你觀察到的:線程啟動(dòng)的時(shí)間不同,有快有慢,這恰恰說明線程池起作用了:線程池的調(diào)度試圖讓程序響應(yīng)達(dá)到最佳。
文章題目:vb.net線程池管理 vbnet 多線程
本文網(wǎng)址:http://muchs.cn/article14/dojhige.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供品牌網(wǎng)站制作、、微信公眾號(hào)、建站公司、網(wǎng)站建設(shè)、域名注冊(cè)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)