摘自 深入理解操作系统 CHA 12
并发是在逻辑控制流上重叠。应用级并发在下列情况下是很有用的:
1 访问慢速I/O设备。
2 与人交互
3 通过推迟工作以降低延迟
4 服务多个网络客户端
5 在多核机器上进行并发运算
使用应用级并发的应用程序称为 并发程序。现代操作系统提供了3种基本的构造并发程序的方法:
1 进程:此方法,每个逻辑控制流都是一个进程,由内核来调度和维护。进程有自己的虚拟地址空间,若要和其他流进行通信,控制流必须使用IPC(进程间通信)机制。IPC机制有:管道,共享内存,队列,信号量
2 I/O多路复用:在此并发编程中,应用程序在一个进程的上下文中显式的调度他们自己的逻辑流。逻辑流被转化为状态机,数据到达文件描述符后,主程序显式的从一个状态转换到另一个状态。因为程序是一个单独的进程,所以所有的流都共享同一个地址空间。
3 线程:线程是运行在一个单一进程上下文中的逻辑流,由内核调度。可以把线程看作其他2中的混合体。像进程流一样由内核进行调度,而像I/O多路复用流一样共享一个虚拟的地址空间。
时间: 2024-10-20 01:16:34