成人AV在线无码|婷婷五月激情色,|伊人加勒比二三四区|国产一区激情都市|亚洲AV无码电影|日av韩av无码|天堂在线亚洲Av|无码一区二区影院|成人无码毛片AV|超碰在线看中文字幕

python線程池并發(fā)爬蟲(chóng) 為什么了要使用線程池,什么情況下要使用線程池?

為什么了要使用線程池,什么情況下要使用線程池? java.util.concurrent文件. 遺囑執(zhí)行人提供java.util.concurrent文件該計(jì)劃的實(shí)施。Executor接口用于創(chuàng)建

為什么了要使用線程池,什么情況下要使用線程池?

java.util.concurrent文件. 遺囑執(zhí)行人提供java.util.concurrent文件該計(jì)劃的實(shí)施。Executor接口用于創(chuàng)建線程池。多線程技術(shù)主要用于解決處理器單元中的多線程問(wèn)題。它可以顯著減少處理器單元的空閑時(shí)間,提高處理器單元的吞吐量。

假設(shè)服務(wù)器完成任務(wù)所需的時(shí)間是:T1創(chuàng)建線程,T2在線程中執(zhí)行任務(wù),T3銷(xiāo)毀線程。

如果T1和T3比T2大得多,則可以使用線程池來(lái)提高服務(wù)器性能。

線程池的功能是限制系統(tǒng)中執(zhí)行線程的數(shù)量。

根據(jù)系統(tǒng)環(huán)境,線程數(shù)可自動(dòng)或手動(dòng)設(shè)置,達(dá)到最佳效果;系統(tǒng)資源浪費(fèi)少,系統(tǒng)擁塞多,效率低。線程池用于控制線程數(shù),其他線程排隊(duì)。任務(wù)執(zhí)行后,將執(zhí)行隊(duì)列中的第一個(gè)任務(wù)。如果隊(duì)列中沒(méi)有等待進(jìn)程,則線程池的資源正在等待。當(dāng)一個(gè)新任務(wù)需要運(yùn)行時(shí),如果線程池中有等待的工作線程,則可以開(kāi)始運(yùn)行;否則,將進(jìn)入等待隊(duì)列。

1. 減少創(chuàng)建和銷(xiāo)毀線程的數(shù)量,每個(gè)工作線程都可以重用,并且可以執(zhí)行多個(gè)任務(wù)。

2. 您可以根據(jù)系統(tǒng)的承載能力來(lái)調(diào)整線程池中的工作線線程數(shù),以防止服務(wù)器因?yàn)橄奶鄡?nèi)存而疲憊不堪(每個(gè)線程大約需要1MB內(nèi)存,打開(kāi)的線程越多,消耗的內(nèi)存就越多,最后服務(wù)器崩潰)。

Java線程池的頂層接口是executor,但嚴(yán)格來(lái)說(shuō),executor不是線程池,而是執(zhí)行線程的工具。真正的線程池接口是executorservice。