Linux網路程式設計之多程序

2021-06-28 21:55:39 字數 1071 閱讀 6989

多程序模型

多程序模型下,注意如何在程序之間通訊以及孤兒程序和殭屍程序的處理,可以外配上程序池作為計算任務/非同步任務的處理。

//fork server

#include #include #include #include #include #include #include #include #include void run();

int main(int argc, char *argv)

void handle_client_socket(int clientfd)else if(readlen==0)else}}

close(clientfd);

}void reap(int signum)

void run()

//create server socket

int fd = socket(af_inet, sock_stream, 0);

if(fd==-1)

//server bind

struct sockaddr_in server;

server.sin_family = af_inet;

server.sin_addr = *(struct in_addr *)h->h_addr_list[0];

server.sin_port = htons(8000);

if(bind(fd, (struct sockaddr *)&server, sizeof(server))==-1)

int reuse = 1;

if (setsockopt(fd, sol_socket, so_reuseaddr, &reuse, sizeof(reuse))<0)

//server listen

if(listen(fd,20)==-1)

signal(sigchld,reap);

//server loop

while(1)

pid_t pid = fork();

if(pid==-1)

if (pid==0)

if (pid>0)

}}

併發程式設計之多程序

程序理論 一 什麼是程序?程序 正在進行的乙個過程或者說乙個任務。而負責執行任務則是cpu。二 程序與程式的區別 程式僅僅只是一堆 而已,而程序指的是程式的執行過程。同乙個程式執行兩次,那也是兩個程序 三 併發與並行 並行處理 parallel processing 是計算機系統中能同時執行兩個或者...

linux網路程式設計之多程序併發伺服器

1 使用多程序併發伺服器考慮的因素 1 父程序描述最大檔案描述符的個數 父程序需要關閉accept返回的新檔案描述符 2 系統內可建立程序的個數 與記憶體大小相關 3 程序建立過多是否降低整體服務效能 2 多程序建立併發伺服器思想 1 父程序建立子程序,每個子程序相當於乙個客戶端 2 子程序實現每個...

併發程式設計之多程序理論

顧名思義,程序即正在執行的乙個過程。程序是對正在執行程式的乙個抽象。程序的概念起源於作業系統,是作業系統最核心的概念,也是作業系統提供的最古老也是最重要的抽象概念之一。作業系統的其他所有內容都是圍繞程序的概念展開的。所以想要真正了解程序,必須事先了解作業系統,點選進入 ps 即使可以利用的cpu只有...