1. 什麼是執行緒?什麼是程序?
執行緒(thread):執行緒是作業系統所能執行排程的最小單位。他被包含在程序之中,是程序的實際運作單位,也就是程式執行流的最小單位。乙個標準的執行緒由:執行緒id、pc(當前指令指標)、暫存器集合、堆疊組成。也被稱為輕量級的程序。乙個執行緒可以建立和撤銷另乙個執行緒,同乙個程序中的執行緒可以併發執行。
程序(process):是計算機中已執行程式的實體。程序本身不會執行,它是執行緒的乙個容器。在乙個容器種,可以存在多個執行緒。
2. 執行緒和程序之間的關係
聯絡:<1>乙個程式至少有乙個程序,乙個程序之中至少有乙個執行緒。
<2>執行緒不能單獨執行,必須存在於程序當中。
<3>乙個程序擁有自己的一整套變數(系統資源),而執行緒則共享乙個程序中的資料。
區別:程序執行開銷大,但是可以跨機器遷移。
執行緒執行開銷小,但是不利於資源的管理和保護。
3. 執行緒狀態
多執行緒簡介
多執行緒指在單個程式中可以同時執行多個不同的執行緒執行不同的任務。多執行緒程式設計的目的,就是 最大限度地利用 cpu資源 當某一線程的處理不需要占用 cpu而只和 io等資源打交道時,讓需要占用 cpu的其他執行緒有機會獲得 cpu資源。從根本上說,這就是多執行緒程式設計的最終目的。乙個程式實現多...
多執行緒簡介
多執行緒是c 中常用的一種技術,可以充分利用多核cpu的計算潛能 以下以相關概念介紹多執行緒的使用 執行緒 thread 與程序 process 均為音譯詞,程序本質上就是廣義上理解的程式,而程序則是乙個程式內部的一種平行計算方法 最常見的,在ros中,node與node之間的關係,就是程序 而在乙...
多執行緒簡介
什麼是執行緒?執行緒是乙個過程,一次可以做的任務的過程。多執行緒就是一次可以做幾個任務的過程。打個比方 乙個房間正在被乙個工人刷牆,這就是單執行緒。這時,另乙個工人進入了房間,那麼就變成了兩個人在刷牆,這就是多執行緒。在計算機中指令的執行由cpu排程,因為電腦只有一塊cpu,所以本質上是乙個執行緒的...