多程序和多執行緒

2022-05-17 21:26:31 字數 1688 閱讀 4233

我們通常所得作業系統是多工的os。這個任務一般指的就是程序,比如:我們聽**和寫文件對於我們來說是同時執行的。那麼是如何實現的呢?這主要是作業系統上的時間片,通常時間很短。每個時間片內將cpu分配給某乙個任務,時間片結束,cpu將自動**,再分配給另外任務。從外部看,所有任務是同時在執行。但是在cpu上,任務是按照序列依次執行(單核cpu)。如果是多核,多個程序任務可以並行。但是單個核上,多程序只能序列執行。

可以同時執行多個任務

程式因io堵塞時(例如鍵盤的輸入),可以釋放cpu,讓cpu為其他程式服務

當cpu有多個核時,可以為多個程式同時服務

過於笨重,不好管理。

程序之前切換代價過大。

概念:乙個程式可以包括多個子任務,可串/並行,每個子任務可以稱為乙個執行緒。

多執行緒在乙個子任務發生io堵塞時可以讓cpu切換到另乙個子任務,這樣cpu知識在乙個程式之間進行切換,所消耗的代價較小。例如:你讓乙個掃地阿姨幫你掃地,但是這個房間鎖了,此時你只需要讓她掃隔壁的房子就好。如果是程序的切換相當於你讓她去掃另一棟樓,這時所消耗的時間就很多了。

– 執行緒共享資料

– 執行緒通訊更高效

– 執行緒更輕量級,更容易切換

– 多個執行緒更容易管理

* 實現多執行緒程式設計的方式1:繼承thread,重寫run方法

* */

class thread1 extends thread catch (interruptedexception e) }}

}/**

* 實現多執行緒程式設計的方式1:實現runnable,實現run方法

多程序和多執行緒

嵌入式linux中文站,關於多程序和多執行緒,教科書上最經典的一句話是 程序是資源分配的最小單位,執行緒是cpu排程的最小單位 這句話應付考試基本上夠了,但如果在工作中遇到類似的選擇問題,那就沒有那麼簡單了,選的不好,會讓你深受其害。經常在網路上看到有xdjm問 多程序好還是多執行緒好?linux下...

多執行緒和多程序

首先說什麼是程序,載入記憶體中執行的程式,它就是乙個程序,而這個程式中執行的某個子任務就是乙個執行緒,程式包含了執行緒。程序對於執行緒是唯一的,而乙個程序可以有多個執行緒。程式執行的時候每隔一定時間在多執行緒之間執行,比如第乙個執行緒執行到0.01秒,馬上暫停跳到下乙個執行緒開始執行,又執行到0.0...

多程序和多執行緒

一 python 中多程序的使用 1 使用multiprocessing p process target function,args 引數,p.start 含義啟動程序 p.join 含義是等待子程序結束後在繼續執行 2 如果啟動大量的子程序,可以用程序池的方式批量建立子程序 from multi...