多程序 多執行緒

2021-09-25 20:12:54 字數 1188 閱讀 7841

#include#include#include#include#include#include#include#include#include#includevoid commcli(int c)//與客戶端互動

; int n=recv(c,buff,127,0);

if(n<=0)

printf("%d: %s\n",c,buff); }}

void zombie(int sign)

int main()

pid_t n=fork();//fork後c作為檔案描述符傳遞給子程序

我們可以看到,開啟了兩個客戶端,與乙個伺服器進行連線,形成兩個程序,這就是我們要的多程序

#include#include#include#include#include#include#include#include#include#include#includevoid* commcli(void* data)//與客戶端互動

從程式設計角度——多執行緒**實現簡答一些,控制簡單一些

從佔據資源角度——多程序比多執行緒佔據資源大,cpu排程時比較慢

從切換速度角度——執行緒切換比程序切換快

從資源共享角度——執行緒比程序間共享資源多

從能夠建立的數量——多程序比多執行緒要多的多

如果多程序要通訊,必須借助於特定的手段(訊號、訊號量、共享記憶體、管道、訊息佇列)

多執行緒 多程序?

這幾天在思考如何改進原型在多個客戶端的情況下的效能,特地溫習了一下多程序和多執行緒的一些知識。在linux下程序的程序和執行緒在核心看來區別很小,都是乙個可排程單元,都擁有記憶體管理結構等等。但是關鍵的差別是程序的資源都是私有的,而執行緒則是和別人共享的,所以執行緒的上下文切換可能比程序的開銷要小很...

多程序,多執行緒

多工程式設計 通過應用程式利用多個計算機核心達到多工同時執行的 目的,從此來提公升程式執行效率 多程序,多執行緒 程序 程式在計算機中一次執行的過程 程式 靜態的描述,不占有計算機資源 程序 是乙個動態的過程,占有cpu,記憶體等計算機資源 有一定的生命週期 同乙個程式,每次執行都是不同的程序,因為...

多執行緒 多程序

是什麼?能幹什麼?單執行緒情況下,執行效率低。系統的資源沒有得到充分利用。計算密集型 運算量比較大 io密集型 cpu空閒,輸入輸出較多 怎麼幹?爬蟲 io密集型 多執行緒 橫向 所有的程式的執行都在乙個執行緒中,程式啟動時,啟動多執行緒,每個執行緒跑同樣的 縱向 將程式進行拆分,每個執行緒跑特定的...