多執行緒通訊和多程序通訊

2021-10-03 23:50:42 字數 559 閱讀 4033

根本區別:程序是作業系統資源分配的基本單位,而執行緒是任務排程和執行的基本單位

多程序1、管道:管道可用於具有親緣關係的父子程序間的通訊。

2、有名管道:有名管道除了具有管道所具有的功能外,它還允許無親緣關係程序間的通訊。

3、訊號量:訊號量是乙個計數器,可以用來控制多個程序對共享資源的訪問。用來執行緒同步的手段。

4、訊息佇列:訊息佇列是訊息的鏈結表,它克服了上兩種通訊方式中訊號量有限的缺點,具有寫許可權得程序可以按照一定得規則向訊息佇列中新增新資訊;對訊息佇列有讀許可權得程序則可以從訊息佇列中讀取資訊。

5、訊號:訊號是在軟體層次上對中斷機制的一種模擬,它是比較複雜的通訊方式,用於通知程序有某事件發生,乙個程序收到乙個訊號與處理器收到乙個中斷請求效果上可以說是一致的。

6、共享記憶體:不同程序訪問同一塊記憶體空間,乙個程序修改了共享資料後,其他程序能立馬知道。這種方式需要依靠互斥鎖和訊號量。

7、套接字:網路上不同機器之間的程序通訊。

多執行緒1、鎖機制:互斥鎖、條件變數、讀寫鎖

2、訊號量機制:無名執行緒訊號量和命名執行緒訊號量

3、訊號機制:主要是用於執行緒同步

多程序和多執行緒

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

多執行緒和多程序

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

多程序和多執行緒

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