摘要: 線程池
并發(fā)最常見用于線程池,顯然使用線程池可以有效的提高吞吐量。
最常見、比較復(fù)雜一個(gè)場(chǎng)景是Web容器的線程池。Web容器使用線程池同步或者異步處理HTTP請(qǐng)求,同時(shí)這也可以有效的復(fù)用HTTP連接,降低資源申請(qǐng)的開銷。通常我們認(rèn)為HTTP請(qǐng)求時(shí)非常昂貴的,并且也是比較耗費(fèi)資源和性能的,所以線程池在這里就扮演了非常重要的角色。
在線程池的章節(jié)中非常詳細(xì)的討論了線程池的原理和使用,同時(shí)也提到了,線程池的配置和參數(shù)對(duì)性能的影響是巨大的。不盡如此,受限于資源(機(jī)器的性能、網(wǎng)絡(luò)的帶寬等等)、依賴的服務(wù),客戶端的響應(yīng)速度等,線程池的威力也不會(huì)一直增長(zhǎng)。達(dá)到了線程池的瓶頸后,性能和吞吐量都會(huì)大幅度降低。
一直增加機(jī)器的性能或者增大線程的個(gè)數(shù),并不一定能有效的提高吞吐量。高并發(fā)的情況下,機(jī)器的負(fù)載會(huì)大幅提升,這時(shí)候機(jī)器的穩(wěn)定性、服務(wù)的可靠性都會(huì)下降。
盡管如此,線程池依然是提高吞吐量的一個(gè)有效措施,配合合適的參數(shù)能夠有效的充分利用資源,提高資源的利用率。
閱讀全文