今天在华清远见学习到的内容是如何应对多个客户端都需要处理
多进程:
父进程负责建立连接;子进程负责与客户端的数据交互;每来一个客户端建立连接之后,会创建子进程来负责数据的交互;
然后子进程资源释放:
1.使用信号进行异步处理
2.子进程退出时会给父进程发送 SIGCHLD
3.捕捉SIGCHLD信号,进行处理,需要实现信号处理函数
多线程:
每有一个客户端连接请求过来,就创建一个子线程;
使用多线程可以节约一定的资源,减少复杂的进程间通讯
子线程创建:int pthread_create(pthread_t *thread,const pthread_attr_t *attr,void *(*start_routine) (void *),void *arg);
子线程分离:int pthread_detach(pthread_t thread);//子线程结束后,自动释放资源