3

以下 senario 是使用线程完成的

  1. @work_queue由主线程填充/排队的大型队列。在这里使用Thread::Queue
  2. ≥ 2 个连接对象被添加,@conns其中必须作为加载过程的一部分被串行加载使用Expect->spawn
  3. 调用多个 Worker 线程,每个线程都给定一个$conns[$i]对象和对 shared 的引用\@work_queue
  4. 工作线程从它的连接对象中安全地删除一个项目@work_queue并执行一些处理,之后它从 中获取下一个可用项目@work_queue
  5. 当它@work_queue为空时,所有线程将安全关闭

现在,问题是在许多情况下加载阶段花费的时间太长。但是由于使用,只能在单独的进程而不是线程上进行Expect->spawn并行加载。@conns

请提出一个使用 fork 实现上述场景的好方法。或者,如果有一种Expect->spawn与线程一起使用的方法,那就更好了。(仅限 UNIX/LINUX)

请参阅是否可以在 Expect 中使用线程?

4

0 回答 0