1、什么是行程、執行緒、并發、并行
一、行程執行緒
1、行程
- 程式由指令和資料組成,但這些指令要運行,資料要讀寫,就必須將指令加載至CPU,資料加載至記憶體,在指令運行程序中還需要用到磁盤、網路等設備,行程就是用來加載指令、管理記憶體、管理IO的當一個程式被運行,從磁盤加載這個程式的代碼至記憶體,這時就開啟了一個行程,
- 行程就可以視為程式的一個實體,大部分程式可以同時運行多個實體行程(例如記事本、畫圖、瀏覽器
等),也有的程式只能啟動一個實體行程(例如網易云音樂、360安全衛士等)】
2、執行緒
- 一個行程可以分為一到多個執行緒,
- 一個執行緒就是一個指令流,將指令流中的一條條指令以一定的順序交給CPU執行
- Java中,執行緒作為最小調度單位,行程作為資源分配的最小單位,在windows中行程是不活動的,只是
作為執行緒的容器
兩者對比
-
行程基本上相互獨立的,而執行緒存在于行程內,是行程的一個子集
-
·行程擁有共享的資源,如記憶體空間等,供其內部的執行緒共享
-
“行程間通信較為復雜
- 同一臺計算機的行程通信稱為IPC(Inter-process communication)
- 不同計算機之間的行程通信,需要通過網路,并遵守共同的協議,例如HTTP
-
執行緒通信相對簡單,因為它們共享行程內的記憶體,一個例子是多個執行緒可以訪問同一個共享變數
-
執行緒更輕量,執行緒背景關系切換成本一般上要比行程背景關系切換低
二、并發并行
1、并發
同一時間段做多件事
eg:1個保姆10分鐘內完成做飯、打掃衛生
2、并行
同一時刻做多件事
eg:2個保姆同時做飯、打掃衛生
兩者對比
-
并發強調同一時間段
-
并行強調同一時刻
本文來自博客園,作者:如夢幻泡影,轉載請注明原文鏈接:https://www.cnblogs.com/WangJiQing/p/16975631.html
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/539908.html
標籤:其他
上一篇:【腳本專案原始碼】Python制作藝術簽名生成器,打造專屬你的個人藝術簽名
下一篇:<二>vector向量容器
