程序和執行緒簡單而基本的定義如下:
程序:程式的一次執行
執行緒:cpu的基本排程單位
乙個任務就是乙個程序(process),比如開啟乙個遊戲就是啟動乙個遊戲程序,開啟乙個pycharm就啟動了乙個pycharm本程序,開啟兩個qq就啟動了兩個qq程序,開啟乙個 word 就啟動了乙個 word 程序。
cpu(單核)一次只能處理乙個程式,但為什麼我們可以一邊聽歌一邊寫程式呢?因為作業系統處理程式是讓其輪流處理(併發),加上cpu處理程式的速度太快,間斷我們無法感覺的到,造成了"同時"執行的錯覺。多核cpu雖然可以做到真正的同時處理(並行),但程式太多,也基本為輪流排程執行。
在乙個程式中,存在很多的程序衍生出來的東西,例如:聽**時,既可以聽歌,也可以同時搜尋歌曲,此時聽歌和搜尋即為**軟體的兩個執行緒。
執行緒的執行方式與程序一致,也是由作業系統將多個執行緒之間以迅雷不及掩耳盜鈴之勢進行切換。
程序與執行緒
程序 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 安全特性 因此程序是不活潑的,它從...