IOCPT/IOCP - 它只存在于 Windows 中吗?

问题描述

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

解决方法

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

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

最大的区别在于,这些 API 中没有一个像 IOCP 那样为您提供基于阻塞的并发限制。