1. 程式人生 > >並行(parallel)和併發(concurrency)的區別和聯絡

並行(parallel)和併發(concurrency)的區別和聯絡

不同:

並行(parallel)是指同一時刻,兩個或兩個以上時間同時發生。

併發(parallel)是指同一時間間隔(同一段時間),兩個或兩個以上時間同時發生。

聯絡:

巨集觀上來說並行和併發都是同時處理多路請求的意思

併發:的實質是一個物理CPU(也可以多個物理CPU) 在若干道程式之間多路複用,併發性是對有限物理資源強制行使多使用者共享以提高效率。 並行性:指兩個或兩個以上事件或活動在同一時刻發生。在多道程式環境下,並行性使多個程式同一時刻可在不同CPU上同時執行。
併發,是在同一個cpu上同時(不是真正的同時,而是看來是同時,因為cpu要在多個程式間切換)執行多個程式。
特點:1.單處理器;2.邏輯上同時處理

並行,是每個cpu執行一個程式。
特點:1.多處理器,多核;2.物理上同時處理 打個比方。併發,就像一個人(cpu)喂2個孩子(程式),輪換著每人喂一口,表面上兩個孩子都在吃飯。並行,就是2個人喂2個孩子,兩個孩子也同時在吃飯。
用並行併發來分析一下具體問題: 在單處理機系統中,多道程式執行的特點是: 1.多道。記憶體中同時存放幾道相互獨立的程式。 2.巨集觀上並行。幾道程式同時進入系統,都處於執行狀態,它們先後開始執行,但是都沒有執行完畢。 3.微觀上序列。事實上,各道程式輪流使用CPU,交替執行程式。

相關推薦

並行parallel併發concurrency區別聯絡

不同: 並行(parallel)是指同一時刻,兩個或兩個以上時間同時發生。 併發(parallel)是指同一時間間隔(同一段時間),兩個或兩個以上時間同時發生。 聯絡: 巨集觀上來說並行和併發都是同

RocketMQ——Consumer篇:PUSH模式下消費訊息順序併發兩種

1 接受並處理Broker返回的響應訊息 當傳送拉取訊息在Broker返回響應訊息之後呼叫NettyRemotingAbstract.processMessageReceived(ChannelHandlerContext ctx, RemotingComma

多執行緒併發使用join方法讓執行緒按順序執行

一.執行緒的join方法作用 join方法把指定的執行緒新增到當前執行緒中,可以不給引數直接thread.join(),也可以給一個時間引數,單位為毫秒thread.join(500)。事實上join方法是通過wait方法來實現的。比如執行緒A中加入了執行緒B.join方法

【小家java】POP面向過程程式設計、OOP面向物件程式設計、AOP面向切面程式設計三種程式設計思想的區別聯絡

相關閱讀 【小家java】java5新特性(簡述十大新特性) 重要一躍 【小家java】java6新特性(簡述十大新特性) 雞肋升級 【小家java】java7新特性(簡述八大新特性) 不溫不火 【小家java】java8新特性(簡述十大新特性) 飽受讚譽 【小家java】java9

工作那些事十一談談碼農與農民工區別發展之路 工作那些事十二如果哪一天,沒有了電腦 工作那些事十三再次失業

工作那些事系列連結快速通道,不斷更新中: 工作那些事(一)今年工作不好找 工作那些事(二)應聘時填寫個人資訊ABCD 工作那些事(三)什麼樣的公司能吸引你,什麼樣的公司適合你? 工作那些事(四)大公司VS小公司 工作那些事(五)談談專案資料整理和積累 工作那些事(六)談談

Java主執行緒其餘執行緒的區別實踐Main、Runnable、Thread

在日常的開發中,很多一些開發中較常見的問題,還是需要去仔細研究一下,最重要的還是實踐。以小見大。 一、Java執行緒中。Main、Runnable和Thread。 相信在工作中,只要是有用到多執行緒非同步程式設計,最起碼都要和這三個打交道。 1、每個Java應用程式

網路程式設計——WebSocket socket、HTTP的區別聯絡

一、WebSocket 是什麼? WebSocket是HTML5規範提出的一種協議;目前除了完犢子的IE瀏覽器,其他瀏覽器都基本支援。他是一種協議,萬變不離其宗,也是基於TCP協議的;和HTTP協議是並存的兩種協議。 WebSocket是HTML5中的協議。HTML5 Web

php裏單引雙引的用法區別連接符(.)

jce 編譯器 last 進行 一個 tar 字串 string clas " "雙引號裏面的字段會經過編譯器解釋,然後再當作HTML代碼輸出。 ‘ ‘單引號裏面的不進行解釋,直接輸出。 例如: $abc=‘my name is tome‘; echo $abc //結果是

breakcontinue以及label的區別作用

跳出循環 跟著 但是 一次循環 循環語句 怎麽辦 次循環 完全 語句 break和continue的區別和作用:break用於完全結束一個循環[一般只退出一重循環],跳出循環體執行循環後面的語句continue是跳過當次循環中剩下的語句,執行下一次循環。標號label  

java.sql.datejava.util.date的區別轉換

有時 sim .text sel ron valueof sql 方法 b- 不同點:java.util.Date是在除了SQL語句的情況下面使用的。java.sql.Date是針對SQL語句使用的,它只包含日期而沒有時間部分java.util.Date 是 java.sq

java.util.Datejava.sql.Date的區別相互轉化(轉)

分開 hid 包含 strong stat 日常 互轉 timestamp edate 轉自:http://blog.csdn.net/qin_zhimou/article/details/55509769 共同點:都有getTime方法返回毫秒數,可以直接構建 不同點:

各種容器服務器之間的區別聯系

cat gin 接口調用 web服務 服務器 cgi ava ont nginx 平時我們經常看到各種容器名稱:Servlet容器、WEB容器、Java WEB容器、Java EE容器等,還有各種服務器名稱:應用服務器、WEB服務器、WEB應用服務器、JavaWEB應用服務

mybatis框架中 #$傳遞參數的區別 註意

字符串 傳遞 註意 自動 nbsp val sql value bat #{}: 1、 是預編譯 2、 編譯成占位符 3、 可以防止sql註入 4、 自動判斷數據類型 5、 一個參數時,可以使用任意參數名稱進行接收 ${}: 1、 非預編譯 2、 sq

雲終端瘦客戶機的區別選擇

如何 不錯 spice 的區別 無法 ice 是否 客戶端 穩定 很多小夥伴不太清楚雲終端(零客戶機)和瘦客戶機的區別,以及如何去搭配,今天和大家分享一下. 一 定義瘦客戶機洋名:Thin Client小名:瘦客戶機(瘦終端、X86終端) 普遍為X86架構,有本地操作系統,

叢集分散式相關概念的區別聯絡

先說區別: 一句話:分散式是並聯工作的,叢集是串聯工作的。 1:分散式是指將不同的業務分佈在不同的地方。 而叢集指的是將幾臺伺服器集中在一起,實現同一業務。 分散式中的每一個節點,都可以做叢集。 而叢集並不一定就是分散式的。 舉例:就比如新浪網,訪問的人多了,他可以做一個群集,前面放一個響應伺服器,

Linux可重入函式執行緒安全的區別聯絡(轉)

*****可重入函式      函式被不同的控制流程呼叫,有可能在第一次呼叫還沒返回時就再次進入該函式,這稱為重入。      當程式執行到某一個函式的時候,可能因為硬體中斷或者異常而使得在使用者正在執行的程式

char陣列char指標的使用區別一些注意事項

const用法 const char* p;表示p是一個指向常量字元的指標 char* const p;表示p是一個指向字元的常量指標,p是不允許改變的 另外要注意的是 const char* p等價於 char const *p 也就是說const描述char和*p是等價的

Python的例項方法、類方法靜態方法之間的區別聯絡

Python的例項方法、類方法和靜態方法 class Test: def test1(self): print('test......') @classmethod def test2(cls): print('test2......c

FAT16FAT32檔案系統的區別對比

        FAT(File Allocation Table)是“檔案分配表”的意思。就是用來記錄檔案所在位置的表格,它對於硬碟的使用是非常重要的,假若丟失檔案分配表,那麼硬碟上的資料就會因無法定位而不能使用了。     &nbs

if語句,if...else if語句switch...case語句的區別分析

當我們有一個判斷條件的時候,顯然用if語句比較方便有效。但當判斷條件很多的時候,我們可以使用if語句或者if....eles 語句和switch  case 語句。 if...else if語句和多個if語句的區別還是很大的,if...else if在任何一個環節滿足條件的時候就將會終