多程序模型
多程序模型下,注意如何在程序之間通訊以及孤兒程序和殭屍程序的處理,可以外配上程序池作為計算任務/非同步任務的處理。
//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只有...