当前位置:网站首页>IO模型的5中模式
IO模型的5中模式
2022-06-22 15:10:00 【原力与你同在】
参考:unix网络编程
前言:
在LInux系统下,用户空间会和内核空间可以互相切换
阻塞IO
阻塞IO:由用户空间切换成内核空间,内核空间在等待数据到达,数据到达后从网卡复制到内存,复制结束由内核空间切换成用户空间,读取。在此过程中用户线程一直被阻塞。(处理一个事件不能处理其他事件)
同步阻塞
非阻塞IO
非阻塞IO:等待数据不阻塞,数据到达复制阶段也阻塞。
同步非阻塞
多路复用
selector,先阻塞住,有事件过来才不阻塞;read也阻塞。节省了等等事件的时间。
本质也是同步
信号驱动
异步IO
线程1发起(指定回调方法) -----> 线程2获取结果(结果出来后通过线程1的方法返回)
异步都是非阻塞。
同步:线程自己发起动作,自己去获取结果。
异步:线程发起动作,其他线程获取结果。
读文件写入socket流

java使用直接内存,在用户缓冲区和内核缓冲区之间不用再复制,总共3次,节省1次。
优化
linux2.1提供的sendFile方法,java对应channel的transferTo和transFrom方法拷贝
linux2.4 java调用了transferTo方法后,从java的用户态到内核态,使用DMA将数据读入内核缓冲区,不会使用cpu,
只发生了用户态和内核态的切换,数据从磁盘到内核缓冲区,再从内核缓冲区到网卡,0拷贝是不经过java的内存,不会占用cpu时间。DMP会解放cpu时间。
0拷贝适合小文件传输。
边栏推荐
- 浙江创投圈的“半壁江山”,还得是国资
- [Shanda conference] project introduces Redux
- ORB_ VI ideological framework
- 84.(cesium篇)cesium模型在地形上运动
- [Shanda conference] application setting module
- 期货怎么开户?网上期货开户安全吗?
- find命令使用
- ironSource Luna 推出苹果搜索广告限时优惠,注册即享3个月免费服务
- [Shanda conference] private chat channel webrtc tools
- SAP教程中的ALV报告 - ABAP列表查看器-012
猜你喜欢

POD 类型
New design of databend SQL planner

How to embody the value of knowledge management in business

数睿数据荣获第二届ISIG中国产业智能大会两项年度大奖

odoo系统对原有模型单独开发的视图设置优先级

odoo本地文档功能开发记录

Bridging the gap between open source databases and database services

Conversion between numeric types and strings

学习量子纠缠的可解释表示,该深度生成模型可直接应用于其他物理系统

Google Chrome small details
随机推荐
Reddit对LaMDA模型的探讨:并非无状态,采用双重过程,相比它编辑维基百科的方式,有没有感情并不重要
Gbase "library" special training of innovation and application Committee of Beijing fintech Industry Alliance
Conversion between numeric types and strings
二叉树练习第二弹
Luogu p2466 [sdoi2008] Sue's small ball solution
安全信得过!天翼云数据安全管理平台通过评测
【山大会议】私人聊天频道 WebRTC 工具类
[Shanda conference] peer connection based on webrtc
[VTK] model rotation and Translation
GD32F4xx MCU 驱动mcp2515扩展CAN接口
SAP ABAP 表控制与示例-07
用递归法求Fibonacci数列第n项的值
什么是 SAP ABAP? 类型、ABAP 完整形式和含义
Alibaba cloud middleware's open source past
【山大会议】一些基本工具类定义
Focus on creating a net red product. The xinjietu x70s is newly launched, starting from 87900
[Shanda conference] project initialization
Cmake tutorial series-00-introduction
学习量子纠缠的可解释表示,该深度生成模型可直接应用于其他物理系统
odoo部署到服务器并配置为服务