io.ha 中的 _write 是否阻塞调用?
我继承了一些代码,为了初始化一些硬件,写入几个字节,然后等待返回。为此,它调用 io.h 中的 _write 函数。从我的测试来看,它似乎在那时被锁定了。所以我的问题如下:
- 该函数是阻塞函数吗?
- 有没有办法设置超时?
- 有没有我可以使用的替代非阻塞函数?
I've inherited some code which, to initialise some hardware, writes a few bytes and then waits for a return. To do this it calls the _write
function from io.h
. From my testing, it looks like it's locking up at that point. So my questions are as follows:
- Is that function a blocking function?
- Is there a way of setting a timeout?
- Is there an alternative non-blocking function I could use instead?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
如果您想在 Windows 上执行异步 I/O,那么要么直接使用 Win32 API(查看 WriteFileEx/ReadFileEx 的文档,其中包含指向异步 I/O 与同步的一般背景的指针),要么考虑 boost::asio。
If you want to do async I/O on Windows then either use the Win32 APIs directly (look at docs for WriteFileEx/ReadFileEx, which contain pointers to general background on async I/O vs sync) or consider boost::asio.