PTT
Submit
Submit
选择语言
正體中文
简体中文
PTT
LinuxDev
[问题] pipe buffer大小
楼主:
lalaboom
(lalaboom)
2015-03-24 23:02:29
大家好
我有一只程式会一直产生资料,
透过pipe write写到另一只程式去,
但是另一只call pipe read 的速度比较慢,
导致write端会block住 (goole查询buffer大小为4K?),
有尝试 write end 设成 nonblock,
但也只是return -1(try again)给我,
因为资料会一直产生,但因为上述原因导致丢资料,
请问我该如何设计呢?
改成FIFO会有帮助吗?
谢谢 ~
作者:
asilzheng
(asil)
2015-03-24 23:38:00
先解决 read 的速度问题吧,为什么他比较慢是可接受的?
楼主:
lalaboom
(lalaboom)
2015-03-25 00:15:00
因为需要计算复杂的东西,基本上read端速率无法更改XD
作者:
james732
(好人超)
2015-03-25 11:39:00
read端不能先把资料收下来再算吗?
楼主:
lalaboom
(lalaboom)
2015-03-25 12:53:00
因为read end code不能改,只能在write end想办法
作者: jaw109
2015-03-25 20:42:00
如果真的来不及那就只能把资料读出来丢掉
作者:
leolarrel
(真.粽子无双)
2015-03-27 15:29:00
write 端的程式要有"水库"的概念,把来不及的送的东西暂放起来write端程式写两个程序或执行绪,一个专门储存资料,一个专门把资料往管线丢.这概念十分简单,最明显的例子就是youtube的播放进度条
楼主:
lalaboom
(lalaboom)
2015-03-29 02:06:00
谢谢Leo大,目前正是采取这种做法,但也因为muti thread产生的问题需要把两端lock起来,所以效率有些降低
继续阅读
[问题] standalone driver是什么意思
weiching5566
[问题] Linux kernel挑战
rtt2008
[问题] 3G module probe 问题
gn00618777
[问题] 关于 driver 和 irq
gn00618777
[问题] 修改资料夹权限
gamed
[核心] Kernel device tree dts档的修改
h23456789
[问题] 请问makefile定义的问题
weiching5566
[问题] 有人有使用过i2c-tools 这套工具吗?
NationST
Re: [问题] 如何判断程式是否在背景?
cole945
[问题] linux嵌入式系统中的i2c问题
NationST
Links
booklink
Contact Us: admin [ a t ] ucptt.com