perl中多个进程之间的共享队列

时间:2013-08-01 12:17:26

标签: perl fork expect

以下使用线程完成了

  1. 主线程填充/排队的大队列@work_queue。在这里使用Thread::Queue
  2. ≥{2}中添加了2个连接对象,必须连续加载,因为加载过程的一部分使用@conns
  3. 调用多个工作线程,并且每个线程都给出一个Expect->spawn对象&对共享$conns[$i]
  4. 的引用
  5. 工作线程安全地从\@work_queue删除单个项目,并通过其连接对象执行一些处理,之后它从@work_queue中选取下一个可用项目。
  6. 当此@work_queue为空时,所有线程都将安全关闭
  7. 现在,问题是加载阶段在很多情况下花费的时间太长。但由于使用了@work_queueExpect->spawn的并行加载只能在一个单独的过程中进行。不在线上。

    请建议使用fork实现上述方案的好方法。或者,如果有一种方法可以将@conns用于线程,那就更好了。 (仅限UNIX / LINUX)

    请参阅Is it possible to use threads with Expect?

0 个答案:

没有答案