執行緒和程序都是使用cpu進行工作,是不是覺得沒什麼區別.其實執行緒和程序區別還是很大的.
程序:是乙個程式的執行例項.享有單獨的資源,系統切換比較麻煩,獨立執行.執行失敗不會相互影響
執行緒:是程序不同的執行分支,不享有獨立的資源,切換比較方便,除了核心執行緒外,不能獨立執行.失敗以後容易影響別的執行緒乃至整個程序.被稱作為輕量級程序
執行緒的優點:系統資源消耗小,排程方便,執行緒間通訊方便.
缺點:增加了程式崩潰的概率,減低程式的健壯性.
linux應用開發中,多程序在編譯的時候需要使用鏈結動態鏈結庫選項 -lpthread
程序與執行緒
程序 process 管理單元,管理分配應用程式的資料,的記憶體空間.執行緒 thread 執行單元,執行緒負責執行乙個預先編排好的 段,執行 棧是基於執行緒的.乙個應用程式啟動的時候,程序自動建立,並且會預設建立主線程,主線程負責執行main 方法.thread t new thread new ...
程序與執行緒
程序 是擁有資源的實體,包括 1。乙個程序有乙個虛擬位址空間,不同程序位於不同的 虛擬位址空間中。程序之間若要通訊,必須通過作業系統 的功能呼叫 ipc 2。程序擁有其他資源,例如開啟的檔案和i o裝置。程序結束時,作業系統會自動釋放該程序擁有的所有資源。例如,如果 open乙個檔案而不close它...
程序與執行緒
程序包括 1 私有的虛位址空間 2 可執行程式 與資料 3 開啟系統資源列表控制代碼 4 安全訪問標誌 5 程序id 6 至少有乙個執行執行緒 執行緒包括 1 一組cpu暫存器狀態 2 兩個堆疊 系統態與使用者態 3 tls 執行緒區域性儲存區 4 執行緒id 5 安全特性 因此程序是不活潑的,它從...