首页
社区
课程
招聘
[求助]使用ReadFile()读匿名管道中的数据,能否设置超时?
发表于: 2012-9-19 12:42 6736

[求助]使用ReadFile()读匿名管道中的数据,能否设置超时?

2012-9-19 12:42
6736
有2个进程,使用匿名管道通信,进程2将数据写入匿名管道,进程1调用ReadFile()函数读匿名管道中的数据,但当管道中没数据时ReadFile()将一直等待死锁,不和能否设置读匿名管道超时 或 有数据时通知处理,以避免死锁?

[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)

收藏
免费 0
支持
分享
最新回复 (2)
雪    币: 209
活跃值: (143)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
匿名管道不支持重叠IO,想使用异步的话需要使用命名管道。

或者创建一个线程去Read,超时即结束线程,这种方式不太常规,不知道会否带来其他问题。
2012-9-22 09:42
0
雪    币: 128
活跃值: (27)
能力值: ( LV5,RANK:60 )
在线值:
发帖
回帖
粉丝
3
确实匿名管道不支持重叠IO
http://msdn.microsoft.com/en-us/library/windows/desktop/aa365141(v=vs.85).aspx

好像PeekNamedPipe是立刻返回,那勉强的可以用这个循环试探是否有数据
2012-9-24 21:31
0
游客
登录 | 注册 方可回帖
返回
//