併發編程概念篇-01進程與線程

進程是程序運行資源分配的最小單元

進程是操做系統進行資源分配的最小單元,其中資源包括:CPU,內存空間,磁盤IO等,同一進程中的多條線程共享該進程的所有系統資源,而進程和進程之間是相互獨立的。進程是具備必定獨立功能的程序關於某個數據集合上的一次運行活動,進程是系統進行資源分配和調度的一個獨立單位。進程是程序在計算機上的一次執行活動,當你運行一個程序,你就啓動了一個進程。很顯然程序是死的,靜態的。進程是活的,動態的。進程能夠分爲系統進程和用戶進程。凡是用於完成操做系統的各類功能的進程就是系統進程,他們就是處於運行狀態下的操做系統自己,用戶進程就是全部由用戶啓動的進程。編程

線程是CPU調度的最小單元

線程是CPU調度的最小單位,必須依賴於進程而存在,是進程的一個實體,它是比進程更小的可以獨立運行的基本單位。線程本身基本上不擁有系統資源,只擁有一點在運行中必不可少的資源(如程序計數器,一組寄存器和棧),可是它可與同屬於一個進程下的其餘線程共享進程所擁有的所有資源。併發

線程無處不在

任何一個程序都必需要建立線程,特別是Java,無論任何程序都必須啓動一個main函數的主線程;JavaWeb開發裏面的定時任務,定時器,JSP,Servlet,異步消息處理機制,遠程訪問接口RM等,任何一個監聽事件都離不開線程和併發的知識。異步

本篇爲學習併發編程而理解的進程與線程含義,2020年03月20日  晚23:53 wangmo
相關文章
相關標籤/搜索