並行和併發的區別與聯絡
你吃飯吃到一半,電話來了,你一直到吃完了以後才去接,這就說明你不支援併發也不支援並行。
你吃飯吃到一半,電話來了,你停了下來接了電話,接完後繼續吃飯,這說明你支援併發。
你吃飯吃到一半,電話來了,你一邊打電話一邊吃飯,這說明你支援並行。
併發的關鍵是你有處理多個任務的能力,不一定要同時。
並行的關鍵是你有同時處理多個任務的能力。
所以我認為它們最關鍵的點就是:是否是『同時』。
做併發程式設計之前,必須首先理解什麼是併發,什麼是並行,什麼是併發程式設計,什麼是並行程式設計。
併發(concurrency)和並行(parallellism)是:
解釋一:並行是指兩個或者多個事件在同一時刻發生;而併發是指兩個或多個事件在同一時間間隔發生。
解釋二:並行是在不同實體上的多個事件,併發是在同一實體上的多個事件。
解釋三:在一臺處理器上“同時”處理多個任務,在多臺處理器上同時處理多個任務。如hadoop分散式叢集
所以併發程式設計的目標是充分的利用處理器的每一個核,以達到最高的處理效能。
參考:
https://www.zhihu.com/question/33515481/answer/58849148
https://zhidao.baidu.com/question/1821773573879676988.html
相關文章
- 程式和執行緒的區別與聯絡執行緒
- 執行緒 並行 與 併發 的區別執行緒並行
- Session和Cookie的聯絡與區別SessionCookie
- CGI與Servlet的區別和聯絡Servlet
- Session和Cookie的區別與聯絡SessionCookie
- Linux和Ubuntu的區別與聯絡LinuxUbuntu
- Java多執行緒--併發和並行的區別Java執行緒並行
- javaSE中的==和equals的聯絡與區別Java
- HDFS 塊和 Input Splits 的區別與聯絡
- NUMA,MPP和HADOOP的區別與聯絡Hadoop
- volatile和synchronized的區別與聯絡[轉]synchronized
- malloc free與new delete的區別和聯絡delete
- cookie與session的區別與聯絡CookieSession
- Session與Cookie的區別與聯絡SessionCookie
- 同步與阻塞的區別與聯絡
- hive與hbase的聯絡與區別Hive
- onchange與onpropertychange的聯絡與區別!
- BS與CS的聯絡與區別
- define與typedef區別與聯絡
- 我已經理解了併發和並行的區別並行
- 【Privilege】SYSOPER和SYSDBA特權的區別與聯絡
- JRE與JDK的區別與聯絡JDK
- tcp/ip和http的區別和聯絡TCPHTTP
- orcle pfile和spfile的區別和聯絡
- NET|Ref 和out 的區別和聯絡
- Instruction和Question的區別和聯絡Struct
- 程式、執行緒和協程之間的區別和聯絡執行緒
- 程序、執行緒和協程之間的區別和聯絡執行緒
- http、socket、tcp的區別和聯絡?HTTPTCP
- SCADA和PLC的區別聯絡
- Apache與Tomcat 區別聯絡ApacheTomcat
- Vue中watch、computed與methods的聯絡和區別Vue
- MediaPlayer和AudioTrack播放Audio的區別與聯絡
- Python中time和datetime的區別與聯絡Python
- Kafka與ActiveMQ的區別與聯絡詳解KafkaMQ
- 詳解Kafka與ActiveMQ的區別與聯絡!KafkaMQ
- B/S與C/S的聯絡與區別
- 關於HashSet與TreeSet的區別與聯絡