1

我正在编写一个脚本,我需要在多个进程之间共享数据结构。目前我正在分叉,当我只需要共享简单变量(即 $var、@arr、%hash)时,它的效果很好。但是最近我一直在尝试共享更复杂的变量,例如散列的散列,我遇到了很多麻烦。我尝试过使用IPC::ShareableDBM::Deepforks::shared,但它们似乎都存在共享更复杂数据结构的问题,例如哈希哈希。我想知道的是对于像我这样的情况,使用叉子或线程会更好吗?我喜欢 fork 语法,因为它看起来很容易使用,但是如果我跳过很多不必要的圈子,而线程会简单得多,我'

更新

共享意味着单独的进程需要读取和写入数据结构。

我在 Centos5.5 上运行 Perl 5.8

4

1 回答 1

2

您完全没有提供有关您的共享模式的信息,所以我假设您使用的是工作模型(这是您真正应该使用的),这意味着数据是通过消息队列共享的。

如果是这样,答案是“没关系”。使用您选择的use forks;or use threads;,并使用Thread::Queue::Any作为您的任务间通信通道。

于 2012-07-06T20:35:18.470 回答