【发布时间】:2010-08-11 23:22:48
【问题描述】:
我正在编写一个 perl 脚本来运行某种管道。我首先读取一个包含一堆参数的 JSON 文件。然后我做一些工作——主要是构建一些稍后需要的数据结构并调用外部程序来生成一些我保留引用的输出文件。
我通常对这些步骤中的每一个都使用一个子例程。每个这样的子例程通常会将一些数据写入其他子例程没有写入的唯一位置(即哈希中的特定键)并读取其他子例程可能已生成的数据。
如果按顺序完成这些步骤可能需要几分钟的时间,但其中大多数可以与我知道如何处理的一些简单的依赖逻辑并行运行(使用线程和队列)。所以我想知道我应该如何实现它以允许在线程之间共享数据。你会建议框架是什么?也许使用一个对象(我将只有一个实例)并将所有共享数据保存在$self 中?也许
一个带有一些“全局”共享变量的简单脚本(无对象)? ...
我显然更喜欢简单、整洁的解决方案。
【问题讨论】:
标签: multithreading perl