并发编程模型

并发编程模型

现代操作系统提供三种基本的构造并发程序的方法

  • 进程
  • 线程
  • I/O 多路复用

PPC (Process per Connection)

新的连接就新建一个进程处理

优点:简单,进程有独立的地址空间、

缺点:进程间通信复杂,操作系统进程调度和切换压力大,

 

TPC(Thread Per Connection)

新的连接就新建一个线程

优点:无需进程间通信

缺点:复杂,控制不好可能导致整个进程退出(例如内存越界)

 

PPC和TPC都可以用预创建资源池的方式来复用.

 

 

I/O 多路复用

  • 当多条连接共用一个阻塞对象后,进程只需要在一个阻塞对象上等待,而无需轮训所有连接 常见实现方式有select、epoll、kqueue等

  • 当某条连接有新的数据可以处理时,操作系统会通知进程,进程从阻塞状态返回,开始进行业务处理。

Reactor 

i/o多路复用结合资源池 

非阻塞同步网络模型

 

Proactor

异步I/O

 

 

Select、Poll、Epoll区别:

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

java nio

https://tech.meituan.com/2016/11/04/nio.html

你可能感兴趣的:(计算机基础,并发模型)