文章
3111
标签
111
分类
73
首页
时间轴
标签
分类
关于
友链
Estom的博客
5.2 Windows IO模型
返回首页
搜索
首页
时间轴
标签
分类
关于
友链
5.2 Windows IO模型
发表于
2021-04-15
|
更新于
2021-09-07
|
操作系统
|
总字数:
6
|
阅读时长:
1分钟
|
浏览量:
UnixIO模型
WindowsIO模型
文章作者:
Estom
文章链接:
https://estom.github.com/2021/04/15/%E6%93%8D%E4%BD%9C%E7%B3%BB%E7%BB%9F/5.2%20Windows%20IO%E6%A8%A1%E5%9E%8B/
版权声明:
本博客所有文章除特别声明外,均采用
CC BY-NC-SA 4.0
许可协议。转载请注明来源
Estom的博客
!
上一篇
5.3 IO多路复用模型
actorhttps://zhuanlan.zhihu.com/p/372277468 演进过程 如果要让服务器服务多个客户端,那么最直接的方式就是为每一条连接创建线程。 创建一个「线程池」,将连接分配给线程,然后一个线程可以处理多个连接的业务。 这样又引来一个新的问题,单个线程怎样才能高效地处理多个连接的业务?当一个连接对应一个线程时,线程一般采用「read -> 业务处理 -> send」的处理流程,如果当前连接没有数据可读,那么线程会阻塞在 read 操作上( socket 默认情况是阻塞 I/O),不过这种阻塞方式并不影响其他线程。 就是将 socket 改成非阻塞,然后线程不断地轮询调用 read 操作来判断是否有数据,这种方式虽然该能够解决阻塞的问题,但是解决的方式比较粗暴,因为轮询是要消耗 CPU 的,而且随着一个 线程处理的连接越多,轮询的效率就会越低。 I/O 多路复用。I/O 多路复用技术会用一个系统调用函数来监听我们所有关心的连接,也就说可以在一个监控线程里面监控很多的连接。 我们熟悉的 select/po...
下一篇
20 字符串类实现
基本功能 实现头文件的封装:MyString.h 缺省构造函数对字符串的初始化MyString() 使用构造函数初始化字符串的另外两种方式,动态指针+拷贝构造函数 ) 析构函数,释放动态申请的字符串空间 重载输出运算符 << 重载赋值运算符 = 重载下标运算符 [],索引输出 拓展功能. 字符串长度的比较 字符串的排序功能 字符串的倒置 字符串中指定两个字符的交换 查找某字符串是否位于指定的字符串中(采用暴力查找) 实现1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211...
Estom
也许那年在绿色的麦浪中奔跑的时候,就注定了我此生的繁华与悲叹
文章
3111
标签
111
分类
73
关注
公告
欢迎参观Estom的小屋
目录
1.
UnixIO模型
2.
WindowsIO模型
最新文章
自引用泛型概述
2025-12-21
06 JUC并发容器
2025-12-18
02 集合底层结构
2025-12-18
30 问题排查和性能优化指南
2025-09-14
面试说明
2025-09-03
搜索
数据加载中