1. 程式人生 > >Java為什麼要用多執行緒

Java為什麼要用多執行緒

用多執行緒只有一個目的,那就是更好的利用cpu的資源,因為所有的多執行緒程式碼都可以用單執行緒來實現。說這個話其實只有一半對,因為反應“多角色”的程式程式碼,最起碼每個角色要給他一個執行緒吧,否則連實際場景都無法模擬,當然也沒法說能用單執行緒來實現:比如最常見的“生產者,消費者模型”。

就例如一個網路爬蟲的功能,有10億資料,假如一條請求花費0.1秒,因為時間有限,所以你要儘量提升開發效率,你就需要好多的伺服器,大家也都知道,每臺伺服器的價錢都是成本,這麼龐大的成本顯然不切實際。我們只能想辦法從自身提升效率。

假如一個請求花費0.1秒,你處理他的請求只需要大約1毫秒,其實百分之99的時間都已經浪費了,所以,我想可以理論上開闢100個執行緒請求資料,這樣CPU就沒有任何浪費。當然,也只是理論上,實際上,執行緒之間的切換也是需要開銷的,所以不可能開闢這麼多的執行緒,不過開闢幾個執行緒是很不錯的選擇。

執行緒,一般就是在解決CPU浪費資源時才會用到。

這就是為什麼要用到執行緒。