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

2019-12-23 11:13:30 浏览数 (2)

  • 基于进程的并发编程:accept 后 fork。优点:虚拟空间独立,不容易出 bug;缺点:创建进程开销大。需要处理 SIGCHLD 来回收僵死子进程。
  • 基于 I/O 多路复用:传递待读描述符集合给 select 函数,以此响应所有描述符的 I/O 事件。select 会修改描述符集合,改为可读子集返回,所以每次使用都要重新更新待读描述符集合。
  • 基于 I/O 多路复用的并发事件驱动:保存所有已连接的客户端,每次循环检测监听套接字,然后更新客户端集合,并执行相应操作
  • 状态机就是一组状态(state),输入事件(input event),和转移(transition)
  • 基于线程的并发:accept 后创建线程处理。但容易引入竞争(race)。

版权所有,转载请注明出处:

https://cloud.tencent.com/developer/article/1557790

0 人点赞