Java多線程(二)關於多線程的CPU密集型和IO密集型這件事

點我跳過黑哥的卑鄙廣告行爲,進入正文。html

 

Java多線程系列更新中~java

  正式篇:網絡

  1. Java多線程(一) 什麼是線程
  2. Java多線程(二)關於多線程的CPU密集型和IO密集型這件事
  3. Java多線程(三)如何建立線程
  4. Java多線程(四)java中的Sleep方法
  5. Java多線程(五)線程的生命週期

  番外篇(神TM番外篇):多線程

  1. Java 過一下基礎
  2. 轉載:java中Thread.sleep()函數使用
  3. Java多線程 Socket使用

 

CPU密集型

CPU密集型會消耗掉大量的CPU資源,例如須要大量的計算,視頻渲染啊,仿真啊之類的。這個時候CPU就卯足了勁在運行,這個時候切換線程,反而浪費了切換的時間,效率不高。函數

就像你的大腦是CPU,你原本就在一本心思地寫做業,多線程這時候就是要你寫會做業,而後馬上敲一會代碼,而後在P個圖,而後在看個視頻,而後再切換回做業。emmmm,過程當中你還須要切換(收起來做業,拿出電腦,打開VS…)那你的做業怕是要寫到掛科。。。這個時候不太適合使用多線程,你就該一門心思地寫做業~網站

IO密集型

涉及到網絡、磁盤IO的都是IO密集型,這個時候CPU利用率並不高,這個時候適合使用多線程。spa

一樣以你的大腦爲例,IO密集型就是「不燒腦」的工做。例如你須要陪小姐姐或者小哥哥聊天,還須要下載一個VS,還須要看我(黑哥)的博客。這個時候若是使用多線程的話會怎麼作?線程

咦?小哥哥(小姐姐)給你發消息了,回一下TA,而後呢?TA給你回消息確定須要時間,這個時候你就能夠搜索VS的網站,先下安裝包,而後一看,哎呦,TA還沒給你回消息,而後看會你黑哥的博客。小哥哥(小姐姐)終於回你了,你回一下TA,接着看個人博客,這就是相似於IO密集型。你能夠在不一樣的「不燒腦」的工做之間切換,來達到更高的效率。而不是小姐姐不回個人信息,我就乾等,啥都不幹,就等,這個效率可想而知,也許,小姐姐(小哥哥)根本就不會回覆你~視頻

相關文章
相關標籤/搜索