IO完成端口Linux等效

用户名

Windows操作系统,一种线程模型,其中ThreadPool与IO完成相关联,每次异步IO完成时都会释放一个线程,然后使用〜released线程来处理IO完成。

虽然linux select可以用于异步IO,但它似乎不支持IO完成/线程池逻辑。

在线程模型之上,是否有任何与IO Completion / ThreadPool等效的Linux?

妖怪

我不知道直接执行此操作的任何方法,但是您可以将select()循环与自己的线程池结合使用以获得类似的行为。select()回报和您检查fd_sets到看到哪些文件描述符准备好,互推这些描述符来处理一个线程池。您仍然需要一个select()独立于线程池的主线程来运行循环,以处理I / O事件。

这种方法的大多数复杂性在于如何跟踪select()每次迭代中的调用中以及线程池本身中需要包含哪些描述符(因为POSIX提供了线程,但没有标准线程池API)。

您可能对使用类似GLib的库感兴趣,该库提供了模块化的主循环,可帮助轮询一组不同的文件描述符以及线程池实现。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

IO完成端口Linux等效项

来自分类Dev

IO完成端口(IOCP)

来自分类Dev

IO完成端口和套接字send()

来自分类Dev

IO完成端口和套接字WSARecv()

来自分类Dev

IO完成端口中的业务逻辑

来自分类Dev

IO完成端口和重叠管理

来自分类Dev

IO完成端口和套接字send()

来自分类Dev

IO完成端口和套接字WSARecv()

来自分类Dev

I / O完成端口中的select()等效项

来自分类Dev

io完成端口问题,每个GetQueuedCompletionStatus调用多个wsarecv或wsasend

来自分类Dev

如何为句柄重新注册IO完成端口

来自分类Dev

保持IO端口打开

来自分类Dev

多个I / O完成端口

来自分类Dev

VHDL 记录端口的 SystemVerilog 等效项

来自分类Dev

串行端口的mmap IO端口地址

来自分类Dev

Linux USART串行端口

来自分类Dev

完成端口上的“取消关联”套接字

来自分类Dev

如何为完成端口创建多个线程?

来自分类Dev

Linux中的SHGetKnownFolderPath等效API

来自分类Dev

Linux中的SHGetKnownFolderPath等效API

来自分类Dev

如何查找用于端口转发的“开始端口”和“完成端口”设置?

来自分类Dev

Linux中的默认侦听端口

来自分类Dev

Linux vs Windows中的端口

来自分类Dev

列出Linux中的USB端口

来自分类Dev

在Linux中写入串行端口

来自分类Dev

URL中的pump.io端口

来自分类Dev

端口3000上的Socket IO econnrefused

来自分类Dev

IO :: SOCKET :: INET上的端口跳跃

来自分类Dev

Heroku的Socket.io端口配置