1.並發和並行的區別
- 並發:當有多個線程在操作時,如果系統只有一個CPU,把CPU運行時間划分成若干個時間段,分配給各個線程執行,在一個時間段的線程代碼運行時,其它線程處於掛起狀態。這種方式我們稱之為並發(Concurrent)。並發=間隔發生
- 並行:當系統有一個以上CPU時,則線程的操作有可能非並發。當一個CPU執行一個線程時,另一個CPU可以執行另一個線程,兩個線程互不搶占CPU資源,可以同時進行,這種方式我們稱之為並行(Parallel)。 並行=同時進行
- 高並發是互聯網分布式系統架構設計中必須考慮的因素之一,通常是指通過設計保證系統能夠同時並行處理很多請求。
- 區別:並行是指兩個或者多個事件在同一時刻發生;而並發是指兩個或多個事件在同一時間間隔內發生。
2.高並發是短時間內大量訪問和請求,例如12306搶票和天貓雙11活動,想系統能夠適應高並發狀態,則需要全面優化優化,包括,硬件、網絡、系統架構、開發語言的選取、數據結構的運用、算法優化、數據庫優化……而多線程只是其中解決方法之一。
多線程在解決高並發問題中所起到的作用就是使計算機的資源在每一時刻都能達到最大的利用率,不至於浪費計算機資源使其閑置
https://blog.csdn.net/weixin_39805338/article/details/80798826
