相信大家會經常聽到線程或者進程兩個概念,先解釋這兩個東東
(1)進程: 資源管理的最小單位 獨立的內存空間
(2)線程: 程序執行的最小單位 擁有獨立的棧空間
包含關系:每個線程只能屬於某一個進程,而一個進程至少有一個線程。
我們先來看看進程
什么是進程?進程,顧名思義就是正在進行中的程序,也可以說是正在運行的程序.
ctrl+alt+delete三個鍵一起按,看windows任務管理器(其實某個程序死機時常通過這種方式關閉程序)我們可以看到下圖:
你可以發現你的電腦同時運行多個進程。以前單核的計算機來說,同一時刻cpu只能響應一個服務。
那為什么可以同時運行多個進程呢?同時播放音樂,同時編寫程序,同時后台運行代碼...
上圖cpu的使用記錄看出,圖中標示的1,2,3,4是指電腦四核的意思,即cpu可以同一時刻響應四個請求。在單個程序中同時運行多個線程完成不同的工作,稱為多線程。多線程主要是為了節約CPU時間。
那么回到第一個問題,什么是線程?
一個程序至少有一個進程,一個進程至少有一個線程. 線程是進程的最少執行單元。
總之,每啟動一個程序就至少要啟動一個進程,每啟動一個進程就至少要啟動一個線程。
鄙人的點滴研究,比較淺顯,不足之處還請不吝賜教。謝謝!