burp爆破线程设置多少_你知道线程池创建多少线程比较合理吗?
- 為什么會(huì)使用多線程
- 創(chuàng)建多少線程比較合適
- 結(jié)束語(yǔ)
- 《Java 2019 超神之路》
- 《Dubbo 實(shí)現(xiàn)原理與源碼解析 —— 精品合集》
- 《Spring 實(shí)現(xiàn)原理與源碼解析 —— 精品合集》
- 《MyBatis 實(shí)現(xiàn)原理與源碼解析 —— 精品合集》
- 《Spring MVC 實(shí)現(xiàn)原理與源碼解析 —— 精品合集》
- 《Spring Boot 實(shí)現(xiàn)原理與源碼解析 —— 精品合集》
- 《數(shù)據(jù)庫(kù)實(shí)體設(shè)計(jì)合集》
- 《Java 面試題 —— 精品合集》
- 《Java 學(xué)習(xí)指南 —— 精品合集》
在設(shè)置線程池線程個(gè)數(shù)的時(shí)候,經(jīng)常會(huì)想到這個(gè)問(wèn)題,是不是設(shè)置的線程數(shù)越多越好?理解這個(gè)問(wèn)題之前我們要先清楚的知道我們?yōu)槭裁词褂枚嗑€程。
為什么會(huì)使用多線程
使用多線程的主要目的我們應(yīng)該都能回答的出來(lái)就是提高程序的性能,這個(gè)提高性能其實(shí)是指,降低延遲 指發(fā)送請(qǐng)求到接收到數(shù)據(jù)的時(shí)間,和 提搞吞吐量:單位時(shí)間能可以處理更多的請(qǐng)求。
將近延遲和提高吞吐量對(duì)應(yīng)的方法有兩種: 優(yōu)化算法和機(jī)器的硬件性能發(fā)揮到極致。優(yōu)化算法降低時(shí)間和空間復(fù)雜度,使的程序執(zhí)行時(shí)間更短。硬件的性能發(fā)揮到極致,具體的指提高 I/O 和 cpu 的利用率,如何提高 I/O 和 cpu 的利用率的舉例:如果單核系統(tǒng)中只有一個(gè)程序執(zhí)行又有 IO 操作和 Cpu 計(jì)算的代碼,當(dāng)程序執(zhí)行 IO 操作的時(shí)候,Cpu 其實(shí)是空閑的,反之 IO 是空閑的,如果這個(gè)時(shí)候用兩個(gè)線程去跑這段代碼,一個(gè)線程執(zhí)行 IO 操作 ,一個(gè)線程執(zhí)行 Cpu 計(jì)算 ,這時(shí) IO 和 Cpu 的利用率是不是發(fā)揮了極致?
創(chuàng)建多少線程比較合適
經(jīng)過(guò)上面的分析,我們知道創(chuàng)建多少線程能夠?qū)⒂布睦寐蔬_(dá)到最高才是最好的線程數(shù)。
我們從線程的應(yīng)用場(chǎng)景來(lái)分析,由于 IO 操作比 Cpu 計(jì)算耗時(shí)要久的多的,如果我們一段程序有 IO 操作和 Cpu 計(jì)算,我們可以稱之為 IO 密集型計(jì)算。程序中沒(méi)有 IO 操作只有 Cpu 的話稱之為 Cpu 密集型程序。
- IO 密集計(jì)算,如何將硬件利用率達(dá)到極致呢 我們將 R = IO 耗時(shí) / Cpu耗時(shí) 我們從上面的例子來(lái)看,如果 IO 耗時(shí) / Cpu 耗時(shí) = 10 (我們平常可以用工具 apm 來(lái)統(tǒng)計(jì)這個(gè)比例),創(chuàng)建線程 A 執(zhí)行 io 操作,我們希望 IO 操作的時(shí)候 Cpu 不能閑著,所以就應(yīng)該創(chuàng)建 10 個(gè)線程去執(zhí)行 Cpu 計(jì)算,當(dāng) Io 操作完畢后剛好 Cpu 也執(zhí)行完畢,他們的利用率都是百分之 100 在執(zhí)行這段代碼的時(shí)候。這個(gè)例子我們要?jiǎng)?chuàng)建 1 + 10 = 11 個(gè)線程執(zhí)行起來(lái)效率更高,于是我們就得到了公式: 1 + I/O耗時(shí) / Cpu耗時(shí),如果是多核 Cpu 最佳線程數(shù) = CPU 核數(shù) * [ 1 +(I/O 耗時(shí) / Cpu 耗時(shí))。
- Cpu 密集型,這個(gè)就很簡(jiǎn)單了,Cpu 的核數(shù) = 線程數(shù)就行,一般我們會(huì)設(shè)置 Cpu 核數(shù) + 1,防止由于其他因素導(dǎo)致線程阻塞等。
結(jié)束語(yǔ)
看到這里想必大家在回答創(chuàng)建多個(gè)線程比較合理這個(gè)問(wèn)題有了新的思路,希望能夠幫助各位小伙伴!
總結(jié)
以上是生活随笔為你收集整理的burp爆破线程设置多少_你知道线程池创建多少线程比较合理吗?的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: pytorch argmax_轻松学Py
- 下一篇: pcb只开窗不镀锡_案例图解射频PCB设