今天要聊到 IOCP 也是一种非同步 IO 的处理方案, 是由 windows 提供的, 而昨天的 epoll 则是 linux 提供的非同步 IO 处理方案。不过说是处理方案, 我更觉得他们是一种排程演算法, 他们提供了一种面对非同步 IO 时调度 thread 的作法。
此外, 他们跟我们的主题有着很大的关系, 非同步 IO 不就是 JS 中最常见的非同步吗, 这些东西的原理显然跟 node 的实践有所关连。
https://zh.wikipedia.org/wiki/IOCP
简单来说, IOCP 就是一种非同步监听 IO 的方法, 其跟 linux 中的 epoll 有着差不多的关系, 而实际上我个人觉得这两种演算法的思路也是差不多, 只是实践上有一些分歧而已。
IOCP 提供介面让使用者注册事件, 也提供方法可以 non-blocking 的运行, 运行完成後触发特定事件。
还有一个方法是使 thread 沉睡, 当事件发生时才被唤醒, 这三个工具的组合可以实践出 IOCP modle
以下简述流程 :
利用 IOCP 实践第二天的 http server , 里面会利用 IOCP 而拥有 schedule 机制。
明天见 !
>>: Material UI in React [ Day15 ] Navigation Stepper 步骤卡
前言 Open Redirect漏洞除了拿来钓鱼,还有呢? 正文 概念 Open Redirect常...
图片来源:unsplash 关於资料视觉化的工具一般使用者最先接触的可能是Microsoft Ex...
开启Terminal 安装VNC server [tightvncserver] sudo apt-...
今天要来介绍的也是回圈 一个更好用的多重选择-switch叙述 当程序有较多的叙述,有较多的选择时,...
环境 Windows 10 21H1 x64dbg Aug 2 2020, 13:56:14 Vis...