并发编程
常用的构造并发程序的方法
-
进程 缺点:进程间通信(
IPC)比较困难,开销高,比较慢 -
I/O多路复用
select()监控一组文件描述符在指定的时间内是否有可读、可写或异常事件发生。场景:假设要求你编写一个echo服务器,它也能对用户从标准输入键入的交互命令做出响应。在这种情况下,服务器必须响应两个互相独立的1/0事件: 1) 网络客户端发起连接请求, 2) 用户在键盘上键入命令行。我们先等待哪个事件呢?没有哪个选择是理想的。如果在
accept中等待一个连接请求,我们就不能响应输入的命令。类似地,如果在read中等待一个输入命令,我们就不能响应任何连接请求。select与epoll -
线程