1. 程式人生 > >程序,進程,與線程

程序,進程,與線程

一點 關系 控制流 並發 程序 進程和線程 系統 nbsp 語言

程序(Program或Procedure,港臺稱之為程式)是一組用計算機語言編寫的命令序列的集合。程序並不能單獨運行,只有將程序裝載到內存中,系統為它分配資源才能運行,而這種執行的「程序」就稱之為進程。線程是系統分配處理器時間資源的基本單元。每啟動一個程序,就至少啟動了一個進程。
  技術分享
  進程(Process,臺灣譯作行程)是計算機中已運行程序的實體。程序本身只是指令的集合,進程才是程序(那些指令)的真正運行。進程本身不會運行,是線程的容器。線程不能單獨執行,必須組成進程。一個程序至少有一個進程,一個進程至少有一個線程。
  技術分享
  線程(Thread,臺灣稱執行緒)是進程中某個單一順序的控制流,指運行中的程序的調度單位。在單個程序中同時運行多個線程完成不同的工作,稱為多線程。多線程主要是為了節約CPU時間。
  技術分享


  在任務管理器中查看進程和線程
  線程自己不擁有系統資源,只擁有一點在運行中必不可少的資源(線程的運行中需要使用計算機的內存資源和CPU),但它可與同屬一個進程的其它線程共享進程所擁有的全部資源。通常在一個進程中可以包含若幹個線程,它們可以利用進程所擁有的資源。一個線程可以創建和撤銷另一個線程,同一個進程中的多個線程之間可以並發執行。

程序,進程,與線程