NIO 管道 为什么从第二个管道开始,能够读取到这么多个字节,可是读取到的字节却全为空?

frr0717 2013-10-07 11:44:31
我现在的程序是使用4线程作为过滤器,每个线程之间采用nio的pipe连接,共计3个pipe。在每个过滤器中extends thread,并且包含所连管道的sinkChannel和sourceChannnel。每个线程(过滤器)从sourceChannel中读取数据、向sinkChannel中写入数据。
但是我的情况是,只有第一个pipe中能够正确读取数据;
从第二个管道开始,就只能读取空字符(0)。我打印出读取了多少字节,这个数值却又是和写入的字节数一致。
研究了蛮久,确实不知道问题出在了那里?为什么从第二个管道开始,能够读取到这么多个字节,可是读取到的字节却全为空?
请教各位!!虽然我的分不多,但是万分感谢!谢谢~~
...全文
113 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
frr0717 2013-10-11
  • 打赏
  • 举报
回复
我自己找到原因了,是没有爸BufferedReader flip().结贴了。
frr0717 2013-10-08
  • 打赏
  • 举报
回复
大牛帮帮忙~~自己顶下~~ 我觉得是不是多线程的原因呢? 还是要考虑一个过滤器(线程)同时管理两个channel,要使用selector? 我对NIO还是新手啊~~ 大牛帮帮忙~~自己顶下~~ 感激不尽!

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧