9 3tcp多程序併發模板和多執行緒併發模板

2021-07-04 21:04:25 字數 2693 閱讀 6158

多程序併發模板

#include 

#include

#include

#include

#include

#include

#include

#include

#include

#include

#include "wrap.h"

#define max_line 80

#define serv_port 8000

void do_sig_child(int num) //通過子程序結束時傳送給父程序訊號**子程序

int main(void)

for (i = 0; i < len; i++)

buf[i] = toupper(buf[i]);

write(clifd, buf, len);

}close(clifd);

return

0;//結束子程序

} else

if (pid > 0) else

}close(servfd);

return

0;}

多執行緒併發模板

#include 

#include

#include

#include

#include

#include "wrap.h"

#include

#include

#include

#include

#define serv_port 8000

#define max_line 80

int clifd; //設定全域性變數,一遍讓執行緒可以訪問

void *th_fun(void *arg)

for (i = 0; i < len; i++)

buf[i] = toupper(buf[i]);

write(clientfd, buf, len);

}close(clientfd);

return null;

}int main(void)

close(servfd);

return

0;}

wrap函式出錯處理

#include 

#include

#include

#include

#include

#include

#include

#include

void perr_exit(const

char *str)

int socket(int family, int type, int protocol)

void bind(int sockfd, const

struct sockaddr *sa, socklen_t salen)

void listen(int sockfd, int backlog)

int accept(int sockfd, struct sockaddr *sa, socklen_t *salenptr)

return n;

}int read(int fd, void *ptr, int nbytes)

return n;

}int write(int fd, const

void *ptr, int nbytes)

return n;

}void close(int fd)

wrap.h

#include 

#include

#include

#ifndef __wrap_h_

#define __wrap_h_

void perr_exit(const

char *str);

int accept(int sockfd, struct sockaddr *sa, socklen_t *salenptr);

int socket(int family, int type, int protocol);

void bind(int sockfd, const

struct sockaddr *sa, socklen_t salen);

void listen(int sockfd, int backlog);

int read(int fd, void *ptr, int nbytes);

int write(int fd, const

void *ptr, int nbytes);

void close(int fd);

#endif

客戶端

#include 

#include

#include

#include

#include

#include "wrap.h"

#define serv_port 8000

#define serv_ip "192.168.188.133"

#define max_line 80

int main(void)

return

0;}

9 3tcp多程序併發模板和多執行緒併發模板

多程序併發模板 include include include include include include include include include include include wrap.h define max line 80 define serv port 8000 void d...

併發程式設計(九) 多執行緒與多程序

本小節就乙個要求 掌握在乙個程序下開啟多個子程序與在乙個程序下開啟多個執行緒的區別 開始操作 from threading import thread def work print hello if name main for i in range 10 t thread target work t...

併發 並行 非同步 同步 單程序 多程序 多執行緒區別

單程序 乙個時間段只能執行乙個程序,例如,要看電影就寫不了文件 多程序 乙個時間段能同時執行多個程序,例如,終於能同時看電影寫文件了 多執行緒 讓乙個程序能同時執行一段 的技術,用起來感覺類似於多程序,但區別在於執行緒與執行緒間共享資源,所以比多程序節省了系統資源,例如,乙個瀏覽器可以同時開啟兩個網...