1、進程:正在進行的一個過程或者說是一個任務,而負責執行的就是CPU
2、同有個程序執行兩次,也就是兩個進程
3、同步執行:一個程序正在執行,另一個程序等執行完后才能執行
4、異步執行:一個程序正在執行時,另一個程序無需等待執行完才執行,就可以執行。當有消息返回系統會通知后者進行處理
5、無論並行或者並發,在用戶看來“同時運行”,不管進程還是線程都只是一個任務而已,真正干活的是CPU,CPU來做些任務,而一個CPU同一時刻只能執行一個任務
6、線程:線程顧名思義,就是一條流水線工作的過程,一條流水線就屬於一個車間,一個車間的工作過程就是一個進程。
7、進程就只是用來把資源集中在一起,而線程才是cpu上的執行單位
8、協程:是單線程下的並發,又稱微線程,
9、進程與線程之間的關系:線程是屬於進程的,線程運行在進程空間內,同一進程所產生的線程共享同一內存空間,當進程退出時該進程所產生的線程都會被強制退出並清除。線程可與屬於同一進程的其它線程共享進程所擁有的全部資源,但是其本身基本上不擁有系統資源,只擁有一點在運行中必不可少的信息
進程與線程的區別:
線程共享創建它的進程的地址空間;進程有自己的地址空間。
線程直接訪問進程的數據段;進程擁有父進程的數據段的自身副本。
線程可以直接與其他線程的過程;過程必須使用進程間通信與兄弟姐妹的過程。
很容易創建新線程;新進程需要重復父進程。
線程可以對相同進程的線程進行相當的控制;進程只能對子進程進行控制。
對主線程的更改(取消、優先級更改等)可能影響進程的其他線程的行為;對父進程的更改不會影響子進程。