并发的作用:
- 访问慢速I/O设备
- 人机交互。(在执行一个任务的时候,用户依然可以进行其他操作)
- 服务多个网络客户端
- 多核机器上进行并行计算
并发的三种方式:
- 进程
每个进程有独立的虚拟空间,所以要和其他进程通信,需使用要通过进程间通信(IPC)机制。
优点:每个进程有独立的进程空间。
缺点:需使用IPC进行通信,开销较大。 - I/O多路复用
- 线程
优点:共享进程的上下文,由内核自动调度。
线程内存模型:
每个线程运行在一个进程的上下文中,但每个线程都有自己独立的线程上下文,包括:
线程ID,栈,栈指针,程序计数器,条件码,通用目的寄存器值。
寄存器的值是不共享的,而进程的内存区域是共享的。
网友评论