1.CPU的發展趨勢:
核心數目依舊會越來越多,根據摩爾定律,由於單個核心性能提升有着嚴重的瓶頸問題,普通的PC桌面在2018年可能回到24核心。
2.並發和並行的區別:
所有的並發處理都有排隊等候,喚醒和執行這三個步驟,所以並發是宏觀的觀念,在微觀上他們都是序列被處理的,只不過資源不會在某一個上被阻塞(一般是通過時間片輪轉),所以在宏觀上多個幾乎同時到達的請求同時在被處理。如果是同一時刻到達的請求也會根據優先級的不同,先后進入隊列排隊等候執行。
並發與並行是兩個既相似但是卻不相同的概念:
並發性:又稱共行性,是指處理多個同時性活動的能力,。
並行:指同時發生兩個並發事件,具有並發的含義。並發不一定並行,也可以說並發事件之間不一定要同一時刻發生。
並發的實質是一個物理CPU(也可以是多個物理CPU)在若干個程序之間多路復用,並發性是對有限物理資源強制行使 多用戶共享以提高效率。
並行指兩個或兩個以上事件或活動在同一時刻發生,在多道程序環境下,並行使多個程序同一時刻可在不同CPU上同時執行。
並發是在同一個cpu上同時(不是真正的同時,而是看來是同時,因為CPU要在多個程序之間切換)運行多個程序。
並行是每一個CPU運行一個程序。
打個比方:並發就像一個人(CPU)喂兩個小孩(程序)吃飯,表面上是兩個小孩在吃飯,實際是一個人在喂。
並行就是兩個人喂兩個小孩子吃飯。
3.並發、並行和多線程的關系:
並行需要兩個或兩個以上的線程跑在不同的處理器上,並發可以跑在一個處理器上通過時間片進行切換。