overlapped-io相关内容

使用重叠 IO 进行控制台输入?

我试图通过使用 FILE_FLAG_OVERLAPPED 标志打开 CONIN$ 来使用重叠 IO 从控制台读取输入.但是,ReadFile 在我使用时会阻塞,即使使用 OVERLAPPED 参数也是如此. 我读过一些帖子报告说这是一个 Windows 7 错误.我正在使用 7,所以这是可能的. 这是我正在使用的代码: //创建一个控制台窗口AllocConsole();Attach ..
发布时间:2022-01-04 08:40:47 其他开发

Linux 上真的没有异步块 I/O 吗?

考虑一个受 CPU 限制但也具有高性能 I/O 要求的应用程序. 我正在将 Linux 文件 I/O 与 Windows 进行比较,我完全看不出 epoll 将如何帮助 Linux 程序.内核会告诉我文件描述符“准备好读取",但我仍然需要调用阻塞 read() 来获取我的数据,如果我想读取兆字节,很明显它会阻塞. 在 Windows 上,我可以创建一个设置了 OVERLAPPED 的文 ..
发布时间:2021-12-14 20:09:24 服务器开发

小读(重叠、缓冲)优于大连续读的解释?

(对于有点冗长的介绍表示歉意) 在开发将整个大文件 (>400MB) 预置入缓冲区缓存以加快实际运行速度的应用程序期间,我测试了一次读取 4MB 是否仍然比一次仅读取 1MB 块有任何明显的好处时间.令人惊讶的是,较小的请求实际上变得更快.这似乎违反直觉,所以我进行了更广泛的测试. 缓冲区缓存在运行测试之前被清除(只是为了笑,我也用缓冲区中的文件运行了一次.无论请求大小如何,缓冲区缓存 ..
发布时间:2021-09-25 18:36:20 其他开发

OVERLAPPED Win32 结构中的 hEvent 成员

当使用异步 I/O(或 Win32 行话中的“重叠"I/O)时,我们需要处理 OVERLAPPED 结构和他的 hEvent 成员.如果 I/O 函数会延迟读或写操作,我们将得到一个 ERROR_IO_PENDING 错误代码,然后我们将使用 WaitForXxxEvent 函数等待异步操作完成,然后我们将调用GetOverlappedResult. 但是,如果 I/O 操作立即完成,我们将 ..
发布时间:2021-09-18 18:57:19 其他开发

支持重叠 I/O(用于 IOCP)的定时器?

我需要在基于 I/O 完成端口 (IOCP) 的应用程序中添加计时器支持.我想避免使用特定线程来管理计时器. 在 Linux 上,您可以创建一个通过文件描述符发送过期通知的计时器(请参阅 timerfd.h 手册),因此如果您的应用程序基于 epoll,那么将它与 epoll 一起使用是很好的. 在 Windows 上,您可以将“等待计时器"与异步过程调用 (ACP) 结合使用(请参阅 ..
发布时间:2021-09-07 20:19:20 其他开发

Windows NAmed Pipes在Linux中的替代方案

我们正在将现有的Windows代码移植到Linux.我们正在使用ACE作为抽象层. 我们正在使用名为管道的窗口与多个客户端进行通信并执行重叠的操作. 在Linux中这等效于什么.我已经检查了名为管道(FIFO)的Linux,但是它们似乎仅支持一个客户端和服务器,并且不支持重叠的IO. 关于此事,您能指导我吗? 解决方案 Unix套接字.本质上, 致电socket(PF_U ..
发布时间:2020-05-16 19:46:03 服务器开发

使用重叠IO进行控制台输入?

我试图通过使用FILE_FLAG_OVERLAPPED标志打开CONIN $来使用重叠IO来从控制台读取输入。但是,当我使用它时,ReadFile会阻塞,即使使用OVERLAPPED参数也是如此。 我已经阅读了一些报道这是W​​indows 7错误的帖子。我正在使用7这样才有可能。 这是我正在使用的代码: //创建一个控制台窗口 AllocConsole(); Attac ..
发布时间:2018-08-24 17:17:46 其他开发

难道真的在Linux上没有异步块I / O?

考虑是CPU密集型的应用程序,而且还具有高性能的I / O需求。 我的Linux文件I / O比较Windows和我看不到epoll的将如何帮助一个Linux程序都没有。内核会告诉我该文件描述符是“准备好读,”但我还是要呼叫阻塞的read()来获得我的数据,如果我想读兆,这是pretty明确表示,这将阻止。 在Windows上,我可以创建重叠的一套文件句柄,然后使用非阻塞I / O,并获得通知 ..
发布时间:2016-07-21 09:34:47 服务器开发