当前位置:网站首页>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拷贝适合小文件传输。
边栏推荐
- SAP ABAP 数据字典教程 SE11:表、锁定对象、视图和结构 -03
- 【山大会议】应用设置模块
- [Shanda conference] project initialization
- 【山大会议】项目初始化
- Navicat premium connecting to Oracle database (Graphic tutorial)
- SLAM十四讲之第6讲--非线性优化
- SAP ABAP BAPI-016
- Wechat applet avatar pendant production
- Maze problem (BFS record path)
- What is the relationship between CSC securities and qiniu school? Is it safe to open a securities account
猜你喜欢

【山大会议】应用设置模块

Static assertion static_ assert

直播无顶流:董宇辉这么火,还有人看刘畊宏吗?

音视频基础知识|ANS 噪声抑制原理解析

谷歌浏览器的小细节

SAP web service 无法使用 SOAMANAGER 登陆到SOA管理页面

数值类型和字符串之间的转换
![[leetcode] 9. Palindromes](/img/58/1817b072949458f9652c144ac4ec0e.png)
[leetcode] 9. Palindromes

Binary search (integer binary)
![[single chip microcomputer] [make buzzer sound] know the buzzer and let it make the sound you want](/img/cb/826b3591bafa62cc71826732eb32ef.png)
[single chip microcomputer] [make buzzer sound] know the buzzer and let it make the sound you want
随机推荐
Rosbag use command
[Shanda conference] software performance optimization and bug repair
Odoo local document function development record
学习量子纠缠的可解释表示,该深度生成模型可直接应用于其他物理系统
安全信得过!天翼云数据安全管理平台通过评测
LeetCode_回溯_动态规划_中等_131.分割回文串
SAP ABAP 表控制与示例-07
Differences between Oracle client and server
84.(cesium篇)cesium模型在地形上运动
浙江创投圈的“半壁江山”,还得是国资
5.文件的读写(学生类)
6.GUI(图形,填充)
[single chip microcomputer] [make buzzer sound] know the buzzer and let it make the sound you want
Mysql触发器
Alibaba cloud middleware's open source past
数睿数据深度 | 关于软件自主可控,源代码向左,无代码向右
数睿数据受邀参与南通企业数字化转型研讨会
Quick sort_ sort
Gbase "library" special training of innovation and application Committee of Beijing fintech Industry Alliance
4.字符串(倒序且大小写转换)