并发编程模型

并发编程模型

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

  • 进程
  • 线程
  • 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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值