父子进程共享数据的问题

skyspark 2008-05-26 07:48:28
问题如下:
父进程从文件读入10000条的数据,大概有100M大小,在处理中生成多个子进程(不用线程的原因是perl脚本的线程不好控制),这样的话每个子进程都会拷贝一份100M的数据,怎么才能让这100M的数据在父子进程间共享而不是存在多份copy,因为子进程只会读取这10000条数据中的一段,而不会作修改。忘指点。
...全文
106 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
skyspark 2008-05-27
  • 打赏
  • 举报
回复
结贴 谢谢您啊!
cceczjxy 2008-05-26
  • 打赏
  • 举报
回复
刚才学错个东西write on copy

应该是copy on write
cceczjxy 2008-05-26
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 skyspark 的回复:]
to:cceczjxy

你的意思是如果我只读的话,linux会自动优化不拷贝把?

实在谢谢你啊!!
[/Quote]


是的
skyspark 2008-05-26
  • 打赏
  • 举报
回复
to:cceczjxy

你的意思是如果我只读的话,linux会自动优化不拷贝把?

实在谢谢你啊!!
cceczjxy 2008-05-26
  • 打赏
  • 举报
回复
linux/unix的fork都是采取的write on copy技术,只有在你对数据有写动作时,才会真正的copy。平时数据都是共享的。
如果你要对数据更改,那就用共享内存吧

23,121

社区成员

发帖
与我相关
我的任务
社区描述
Linux/Unix社区 应用程序开发区
社区管理员
  • 应用程序开发区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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