深入理解计算机系统(第三版)/ CSAPP 杂谈,第12章:并发编程

  • 基于进程的并发编程:accept 后 fork。优点:虚拟空间独立,不容易出 bug;缺点:创建进程开销大。需要处理 SIGCHLD 来回收僵死子进程。

  • 基于 I/O 多路复用:传递待读描述符集合给 select 函数,以此响应所有描述符的 I/O 事件。select 会修改描述符集合,改为可读子集返回,所以每次使用都要重新更新待读描述符集合。

  • 基于 I/O 多路复用的并发事件驱动:保存所有已连接的客户端,每次循环检测监听套接字,然后更新客户端集合,并执行相应操作

  • 状态机就是一组状态(state),输入事件(input event),和转移(transition)

  • 基于线程的并发:accept 后创建线程处理。但容易引入竞争(race)。

版权所有,转载请注明出处:
https://sickworm.com/?p=1670

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据