第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機(jī)立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

線程與線程池

線程與線程池

慕田峪4524236 2019-07-27 15:15:57
線程與線程池使用新線程和使用線程池中的線程有什么區(qū)別?有哪些性能好處,為什么要考慮使用池中的線程而不是顯式創(chuàng)建的線程?我在這里特別想到.NET,但是一般的示例很好。
查看完整描述

3 回答

?
慕田峪7331174

TA貢獻(xiàn)1828條經(jīng)驗(yàn) 獲得超13個贊

線程池將為頻繁和相對較短的操作提供好處。

  • 重用已經(jīng)創(chuàng)建的線程,而不是創(chuàng)建新線程(一個昂貴的進(jìn)程)
  • 當(dāng)出現(xiàn)對新工作項(xiàng)的大量請求時,限制線程創(chuàng)建的速度(我相信這僅在.NET 3.5中)

    • 如果您對100個線程池任務(wù)進(jìn)行排隊(duì),它將只使用已經(jīng)創(chuàng)建的線程來處理這些請求(例如,10個線程)。線程池將進(jìn)行頻繁檢查(我相信3.5SP1中每500 ms),如果有排隊(duì)的任務(wù),它將生成一個新線程。如果您的任務(wù)是快速的,那么新線程的數(shù)量將很小,并且在短任務(wù)中重用大約10個線程將比預(yù)先創(chuàng)建100個線程更快。

    • 如果您的工作負(fù)載始終有大量的線程池請求,那么線程池將根據(jù)上面的進(jìn)程在池中創(chuàng)建更多的線程來調(diào)整自己的工作負(fù)載,以便有更多的線程可用于處理請求。

    • 查帳這里有關(guān)線程池如何在引擎蓋下工作的更深入信息。

如果任務(wù)的運(yùn)行時間相對較長(可能大約一兩秒鐘,但這取決于具體情況),那么自己創(chuàng)建一個新線程就更合適了。

線程池線程是后臺線程,當(dāng)主線程結(jié)束時將停止。默認(rèn)情況下,手動創(chuàng)建的線程是前臺(主線程結(jié)束后將繼續(xù)運(yùn)行),但可以在調(diào)用啟動線程之前將其設(shè)置為后臺。




查看完整回答
反對 回復(fù) 2019-07-28
?
當(dāng)年話下

TA貢獻(xiàn)1890條經(jīng)驗(yàn) 獲得超9個贊

.NET托管線程池:-

  • 根據(jù)當(dāng)前工作負(fù)載和可用硬件對自身進(jìn)行調(diào)整。
  • 包含工作線程

    完成端口線程(專門用于服務(wù)IO)
  • 對大量相對較短的操作進(jìn)行優(yōu)化。

其他線程池實(shí)現(xiàn)可能更適合長期運(yùn)行的操作。

具體來說,使用線程池來阻止應(yīng)用程序創(chuàng)建太多線。線程池最重要的特性是工作隊(duì)列。也就是說,一旦您的機(jī)器足夠繁忙,線程池將排隊(duì)請求,而不是立即產(chǎn)生更多的線程。

因此,如果您要創(chuàng)建一個小的,有限制的線程數(shù)量創(chuàng)建他們自己。如果您無法預(yù)先確定可能創(chuàng)建多少線程(例如,它們是在響應(yīng)傳入IO時創(chuàng)建的),并且它們的工作將是短暫的,請使用線程池。如果您不知道有多少,但他們的工作將長期運(yùn)行,平臺中沒有什么可以幫助您-但您可能能夠找到適合您的替代線程池實(shí)現(xiàn)。



查看完整回答
反對 回復(fù) 2019-07-28
  • 3 回答
  • 0 關(guān)注
  • 347 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號