我有一个非常好的perl子例程,作为perl模块的一部分编写.没有太多细节,它需要一个字符串和一个短列表作为参数(通常从终端获取)并吐出一个值(现在,总是一个浮点,但情况可能并非总是如此.)
现在,我的参数的列表部分有两个值,比如说(val1,val2).我使用for循环为val1和val2保存了我的子程序的输出数百个不同的值.每次迭代都需要几秒钟才能完成 - 因此完成整个过程需要数小时.
我最近读到了一个名为"线程"的神秘(对我而言)计算工具,它显然可以替代具有超快执行时间的循环.我一直无法理解这些是什么和做什么,但我认为它们与并行计算有关(我希望我的模块尽可能优化并行处理器.)
如果我保存所有要传递给val1的值作为列表,比如@ val1和val2相同,我如何使用这些"线程"为val1和val2的每个元素组合执行我的子程序?此外,知道如何将此过程推广到也采用val3,val4等的子例程将会很有帮助.