LINUX程序和執行緒 通訊以及退出方式

2021-08-13 04:39:38 字數 758 閱讀 7668

可能涉及概念:

程序:系統進行資源分配和排程的基本單位

執行緒:程式執行流的最小單元,輕量級程序

單工:類似高速公路中的單車道(只往乙個方向,收或者發)

半雙工:類似單通道的普通馬路,一時間只允許一輛車(和單工比起來可以切換方向)

全雙工:如同高速公路,每個裝置都可以收發

通訊方式:

程序間通訊(7種):

管道(無名管道):半雙工,只可以在親緣程序間使用,通常是父子程序。只存在記憶體中

有名管道:半雙工,允許非親緣關係程序(屬於特殊裝置檔案存在於檔案系統中)

訊號:通過傳送訊號方式

訊號量:常作為一種鎖機制,控制多個程序對資源的訪問

共享記憶體:經常與訊號量配合使用,是最快的ipc(inter-process communication)方式

訊息佇列:訊息鍊錶,存在於核心中,由識別符號標識。

套接字:用於不同主機間的程序通訊

執行緒間通訊(4種):

全域性變數

鎖機制訊號機制

訊號量機制:類似程序間通訊

退出方式:

程序:正常退出(呼叫exit或者_exit函式,mian中執行return)

異常退出(呼叫about函式,收到終止訊號)

執行緒:呼叫pthread_exit函式退出

被其他函式呼叫pthread_cance終止

執行完後**退出

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

根本區別 程序是作業系統資源分配的基本單位,而執行緒是任務排程和執行的基本單位 多程序1 管道 管道可用於具有親緣關係的父子程序間的通訊。2 有名管道 有名管道除了具有管道所具有的功能外,它還允許無親緣關係程序間的通訊。3 訊號量 訊號量是乙個計數器,可以用來控制多個程序對共享資源的訪問。用來執行緒...

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

程序間通訊 ipc,interprocess communication 是一組程式設計介面,讓程式設計師能夠協調不同的程序,使之能在乙個作業系統裡同時執行,並相互傳遞 交換資訊。這使得乙個程式能夠在同一時間裡處理許多使用者的要求。因為即使只有乙個使用者發出要求,也可能導致乙個作業系統中多個程序的執...

Linux 執行緒間通訊方式 程序通訊方式

1.linux下程序間通訊的幾種主要手段簡介 管道 pipe 及有名管道 named pipe 管道可用於具有親緣關係程序間的通訊,有名管道克服了管道沒有名字的限制,因此,除具有管道所具有的功能外,它還允許無親緣關係程序間的通訊 訊號 signal 訊號是比較複雜的通訊方式,用於通知接受程序有某種事...