java多執行緒應用場景

2021-09-01 03:04:46 字數 645 閱讀 9383

多執行緒是基於乙個程序的多個執行過程。多執行緒貌似是提高了處理機的處理速度。實際是這樣麼?

假設我們要做一萬次for迴圈,有十個執行緒,每個執行緒做1000次。那麼多執行緒會比單執行緒執行的快麼。

針對單核cpu來說,單執行緒是最快的。因為多執行緒並不是真正意義上的多個一起執行。而是每個程序都在一定時間片占用cpu。

到時間就會放棄處理機,而切換程序也需要時間,所以整理上來說還是單執行緒時間快。

那麼我們什麼時候用多執行緒呢?

我們在處理乙個網路請求的過程的時候可能花了2ms,而我們實際處理的時間大概只有0.002ms,剩下的都是等待網路傳輸的時

間。這段時間是被這個程序占用的,這時候我們就需要讓該程序的其他執行緒占用處理機,多執行緒這時候便起到了作用。

還有就是我們在搭建乙個**的時候,使用者向我們發請求,不同的使用者需要開啟一系列不同的執行緒來相應每個使用者的請求。

多執行緒又得到了應用。使用者發的請求如果是1k的話,伺服器這邊就需要1m甚至更多的開銷來滿足使用者的需求,對伺服器端的開銷還

是很大的。所以我們伺服器如果太多的人訪問的話就會崩潰。而對於**這樣的大**都是有專門的伺服器先存起來使用者的請求,

然後再把請求給server伺服器處理。當然需要很多成本。但相對於利潤,成本還是值得的。

總結:多執行緒是為了實現業務或者效能才會運用的到。

多執行緒的應用場景

通俗的解釋一下多執行緒先 多執行緒用於堆積處理,就像乙個大土堆,乙個推土機很慢,那麼10個推土機一起來處理,當然速度就快了,不過由於位置的限制,如果20個推土機,那麼推土機之間會產生相互的避讓,相互摩擦,相互擁擠,反而不如10個處理的好,所以,多執行緒處理,執行緒數要開的恰當,就可以提高效率。多執行...

多執行緒的應用場景

多執行緒用於堆積處理,就像乙個大土堆,乙個推土機很慢,那麼10個推土機一起來處理,當然速度就快了,不過由於位置的限制,如果20個推土機,那麼推土機之間會產生相互的避讓,相互摩擦,相互擁擠,反而不如10個處理的好,所以,多執行緒處理,執行緒數要開的恰當,就可以提高效率。多執行緒使用的目的 1 吞吐量 ...

多執行緒使用場景

newcachedthreadpool 建立乙個可根據需要建立新執行緒的執行緒池,但是在以前構造的執行緒可用時將重用它們。對於執行很多短期非同步任務的程式而言,這些執行緒池通常可提高程式效能。呼叫 execute 將重用以前構造的執行緒 如果執行緒可用 如果現有執行緒沒有可用的,則建立乙個新執行緒並...