顧名思義:正在進行(運行)的程序,是程序進行資源分配的基本單位
目前操作系統都是支持多進程,可以同時執行多個進程,通過ID對進程進行區分,PID:process ID
單核CPU在同一時刻,只能運行一個進程;宏觀上看是並行、微觀看是串行
線程,又稱輕量級進程。進程中的一條執行路徑,也是CPU的基本調度單位。一個進程由一個或多個線程組成,彼此間完成不同的工作,同時執行,稱爲多線程
可以查看本機的線程
舉個例子: 迅雷是一個進程,當中的多個下載任務即是多個線程
Java虛擬機是一個進程,當中默認包含主線程(main),可通過代碼創建多個獨立的線程,與main併發執行
1、進程是操作系統資源分配的基本單位,而線程是CPU的基本調度單位
2、一個程序運行後至少有一個進程
3、一個進程可以包含多個線程大,但是至少需要有一個線程,否則這個進程是沒有意義的
4、進程間不能共享數據段地址,但同進程的線程之間可以
CPU時間片:操作系統會爲每個線程分配執行時間
運行數據:(區分哪個是共享的,哪個是獨立的)
1、線程搶佔式執行
由於每個線程都分配了時間片,所以不存在線程會一直在CPU執行