java多线程之并行和并发
版權聲明:本文為博主原創文章,未經博主允許不得轉載。?? ?https://blog.csdn.net/yangying496875002/article/details/73480337
1.并發和并行是即相似又有區別(微觀概念)
并行:指兩個或多個事件在同一時刻點發生;
并發:指兩個或多個事件在同一時間段內發生。
------------------------------------------------------------------------------------------------
在操作系統中,在多道程序環境下,并發性是指在一段時間內宏觀上有多個程序在同時運行,但在單CPU系統中,每一時刻卻僅能有一道程序執行(時間片),故微觀上這些程序只能是分時地交替執行。
倘若計算機系統中有多個CPU,則這些可以并發執行的程序便可被分配到多個處理器上,實現多任務并行執行,即利用每個處理器來處理一個可并發執行的程序,這樣,多個程序便可以同時執行,因為是微觀的,所以大家在使用電腦的時候感覺就是多個程序是同時執行的。所以,大家買電腦的時候喜歡買“核”多的,其原因就是“多核處理器”電腦可以同時并行地處理多個程序,從而提高了電腦的運行效率。單核處理器的計算機肯定是不能并行的處理多個任務的,只能是多個任務在單個CPU上并發運行。
同理,線程也是一樣的,從宏觀角度上理解線程是并行運行的,但是從微觀角度上分析卻是串行運行的,即一個線程一個線程的去運行,當系統只有一個CPU時,線程會以某種順序執行多個線程,我們把這種情況稱之為線程調度。
-------------------------
時間片即CPU分配給各個程序的運行時間(很小的概念).
?
總結
以上是生活随笔為你收集整理的java多线程之并行和并发的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: SVG在Android上的使用
- 下一篇: 深度相机(TOF)的工作原理