免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
楼主: veking
打印 上一主题 下一主题

[C] 父子进程间共享数据的问题! [复制链接]

论坛徽章:
36
IT运维版块每日发帖之星
日期:2016-04-10 06:20:00IT运维版块每日发帖之星
日期:2016-04-16 06:20:0015-16赛季CBA联赛之广东
日期:2016-04-16 19:59:32IT运维版块每日发帖之星
日期:2016-04-18 06:20:00IT运维版块每日发帖之星
日期:2016-04-19 06:20:00每日论坛发贴之星
日期:2016-04-19 06:20:00IT运维版块每日发帖之星
日期:2016-04-25 06:20:00IT运维版块每日发帖之星
日期:2016-05-06 06:20:00IT运维版块每日发帖之星
日期:2016-05-08 06:20:00IT运维版块每日发帖之星
日期:2016-05-13 06:20:00IT运维版块每日发帖之星
日期:2016-05-28 06:20:00每日论坛发贴之星
日期:2016-05-28 06:20:00
11 [报告]
发表于 2008-06-17 17:37 |只看该作者
父进程写数据一定要不断的写吗,可以阻塞吗,子进程读完了,父进程在写?

论坛徽章:
0
12 [报告]
发表于 2008-06-17 19:57 |只看该作者
数据量大吗?数据量不大可以用管道pipe(),不过管道的容量有限,默认在32的linux上是4096字节,在64位的hp-ux上是8192字节,在64位的aix上是32768字节

论坛徽章:
0
13 [报告]
发表于 2008-06-18 12:54 |只看该作者
数据量会很大,父进程一直不停的写,子进程只读,读出数据写到文件里

论坛徽章:
0
14 [报告]
发表于 2008-06-18 13:37 |只看该作者
用 mq_id = msgget(ipckey, IPC_CREAT | 0666); 创建了一个消息队列,但是只能写入2048个字节,每个消息的大小是2048,也就是写入了一个消息,然后就不能写了,必须读出才能再写入,是不是能设置消息队列的大小?

论坛徽章:
0
15 [报告]
发表于 2008-06-18 13:41 |只看该作者
原帖由 veking 于 2008-6-18 13:37 发表
用 mq_id = msgget(ipckey, IPC_CREAT | 0666); 创建了一个消息队列,但是只能写入2048个字节,每个消息的大小是2048,也就是写入了一个消息,然后就不能写了,必须读出才能再写入,是不是能设置消息队列的大小?



阻塞了?

论坛徽章:
0
16 [报告]
发表于 2008-06-18 13:49 |只看该作者
原帖由 veking 于 2008-6-18 13:37 发表
用 mq_id = msgget(ipckey, IPC_CREAT | 0666); 创建了一个消息队列,但是只能写入2048个字节,每个消息的大小是2048,也就是写入了一个消息,然后就不能写了,必须读出才能再写入,是不是能设置消息队列的大小?


不管管道还是msg, 使用堵塞才能保证数据不丢失啊

论坛徽章:
0
17 [报告]
发表于 2008-06-18 14:09 |只看该作者
如果事父进程传给子进程很简单,fork之后直接用就行了,如果事子进程传给父进程就麻烦一些

论坛徽章:
0
18 [报告]
发表于 2008-06-18 14:14 |只看该作者
原帖由 blackuhlan 于 2008-6-18 14:09 发表
如果事父进程传给子进程很简单,fork之后直接用就行了,如果事子进程传给父进程就麻烦一些



直接用不就是共享内存吗。。。。如果是同步的,这么做就可以了。

不过lz要求是异步,所以至少要维护一个list,父进程一直在list添加元素。子进程轮询list,删除元素,并且处理。

论坛徽章:
0
19 [报告]
发表于 2008-06-18 14:24 |只看该作者
原帖由 5毛党党员 于 2008-6-18 14:14 发表



直接用不就是共享内存吗。。。。如果是同步的,这么做就可以了。

不过lz要求是异步,所以至少要维护一个list,父进程一直在list添加元素。子进程轮询list,删除元素,并且处理。



就是要异步处理的效果,这个LIST如何共享操作呢?

论坛徽章:
0
20 [报告]
发表于 2008-06-18 14:26 |只看该作者
原帖由 blackuhlan 于 2008-6-18 14:09 发表
如果事父进程传给子进程很简单,fork之后直接用就行了,如果事子进程传给父进程就麻烦一些


是父进程传给子进程的,父只管写,不停的写,写的数据量很大,并发很多
子进程读数据写到文件中,删除数据
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP