0
点赞
收藏
分享

微信扫一扫

android 如何分析应用的内存(六)

彭维盛 2023-06-13 阅读 46

目录

五种IO模型

阻塞IO

非阻塞IO

信号驱动IO 

IO多路转接

​异步IO 

小结 

同步通信 vs 异步通信(synchronous communication/ asynchronous communication)

同步和异步关注的是消息通信机制

阻塞 vs 非阻塞

其他高级IO

非阻塞IO

fcntl

实现函数SetNoBlock

I/O多路转接之select

理解select执行过程

socket就绪条件

读就绪

写就绪

 select的特点

select缺点

select使用示例: 检测标准输入输出

select使用示例

I/O多路转接之poll

poll函数接口

返回结果

poll示例: 使用poll监控标准输入

I/O多路转接之epoll

epoll初识

epoll的相关系统调用

epoll_create

epoll_ctl

epoll_wait

底层机制

epoll为什么高效?

epoll工作原理

epoll的优点(和 select 的缺点对应)

epoll工作方式

水平触发Level Triggered 工作模式

边缘触发Edge Triggered工作模式

对比LT和ET

理解ET模式和非阻塞文件描述符

epoll的使用场景

epoll中的惊群问题

epoll示例: epoll服务器(LT模式)

tcp_epoll_server.hpp

epoll示例: epoll服务器(ET模式)

tcp_socket.hpp

tcp_epoll_server.hpp 


五种IO模型 

举报

相关推荐

0 条评论