IOCPT/IOCP - 它只存在于 Windows 中吗? [复制]
Posted
技术标签:
【中文标题】IOCPT/IOCP - 它只存在于 Windows 中吗? [复制]【英文标题】:IOCPT/IOCP - does it exist only in Windows? [duplicate] 【发布时间】:2021-10-03 08:07:52 【问题描述】:IO完成端口线程和IO完成端口本身——它是只存在于windows操作系统上,还是Linux/MacOS等各种操作系统上,它们仍然存在并被使用?
【问题讨论】:
一个快速的谷歌搜索可以回答你的问题我认为:***.com/q/2794535/7313891 您可能需要重新考虑这些标签——这与 C#、.NET、async/await 或线程池无关——更多的是关于操作系统本身 【参考方案1】:I/O 完成端口是仅限 Windows 的 API,但其他常见平台在异步 I/O 方面确实具有大致相同的功能。
Linux 有 epoll 和 io_uring。 BSD/MacOS 有 kqueue。 Windows 也有注册 I/O。
最大的区别是这些 API 都没有像 IOCP 那样为您提供基于阻塞的并发限制。
【讨论】:
您能否稍微扩展一下“具有基于阻塞的并发限制”的概念?您的意思是指所有 IOCP 线程都阻塞等待 I/O 操作已完成的信号这一事实吗?以上是关于IOCPT/IOCP - 它只存在于 Windows 中吗? [复制]的主要内容,如果未能解决你的问题,请参考以下文章