首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 操作系统 > UNIXLINUX >

创建了一个管道,写入数据正确,读数据失败。为什么?该如何解决

2012-03-12 
创建了一个管道,写入数据正确,读数据失败。为什么?情况是这样,主线程pipe了一个管道,接着创建子线程,主线程

创建了一个管道,写入数据正确,读数据失败。为什么?
情况是这样,主线程pipe了一个管道,接着创建子线程   ,主线程向管道中写入数据,成功。子线程在主线程向管道中写数据时阻塞,当主线程写完数据后通知子线程读数据,这时子线程读数据失败。为什么?谢谢

[解决办法]
管道管道顾名思义是一头读一头写,你是不是让两个线程读写都用一个打开的句柄啦?
[解决办法]
Bad address?
read的buf参数正确么?
ssize_t read(int d, void *buf, size_t nbytes);

[解决办法]
pipe的0 1 2 三个描述位, 分别是read, write, error.
你不要读写都用0
[解决办法]
为什么不把代码贴出来?
[解决办法]
两个线程同时对一个局柄操作了.

热点排行