【问题标题】:IOCPT/IOCP - does it exist only in Windows? [duplicate]IOCPT/IOCP - 它只存在于 Windows 中吗? [复制]
【发布时间】:2021-10-03 08:07:52
【问题描述】:

IO完成端口线程和IO完成端口本身——它是只存在于windows操作系统上,还是Linux/MacOS等各种操作系统上,它们仍然存在并被使用?

【问题讨论】:

  • 一个快速的谷歌搜索可以回答你的问题我认为:stackoverflow.com/q/2794535/7313891
  • 您可能需要重新考虑这些标签——这与 C#、.NET、async/await 或线程池无关——更多的是关于操作系统本身

标签: c# multithreading .net-core async-await threadpool


【解决方案1】:

I/O 完成端口是仅限 Windows 的 API,但其他常见平台在异步 I/O 方面确实具有大致相同的功能。

Linux 有 epoll 和 io_uring。 BSD/MacOS 有 kqueue。 Windows 也有注册 I/O。

最大的区别是这些 API 都没有像 IOCP 那样为您提供基于阻塞的并发限制。

【讨论】:

  • 您能否稍微扩展一下“具有基于阻塞的并发限制”的概念?您的意思是指所有 IOCP 线程都阻塞等待 I/O 操作已完成的信号这一事实吗?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2010-10-04
  • 1970-01-01
  • 2011-11-10
  • 2013-12-11
相关资源
最近更新 更多