当前位置: 技术问答>linux和unix
创建了一个管道,写入数据正确,读数据失败。为什么?
来源: 互联网 发布时间:2016-01-30
本文导语: 情况是这样,主线程pipe了一个管道,接着创建子线程 ,主线程向管道中写入数据,成功。子线程在主线程向管道中写数据时阻塞,当主线程写完数据后通知子线程读数据,这时子线程读数据失败。为什么?谢谢 ...
情况是这样,主线程pipe了一个管道,接着创建子线程 ,主线程向管道中写入数据,成功。子线程在主线程向管道中写数据时阻塞,当主线程写完数据后通知子线程读数据,这时子线程读数据失败。为什么?谢谢
|
Bad address?
read的buf参数正确么?
ssize_t read(int d, void *buf, size_t nbytes);
read的buf参数正确么?
ssize_t read(int d, void *buf, size_t nbytes);
|
管道管道顾名思义是一头读一头写,你是不是让两个线程读写都用一个打开的句柄啦?
|
两个线程同时对一个局柄操作了.
|
pipe的0 1 2 三个描述位, 分别是read, write, error.
你不要读写都用0
你不要读写都用0
|
为什么不把代码贴出来?