如何使用线程从另一个perl模块调用子例程

时间:2013-06-26 11:21:23

标签: multithreading perl

我正在尝试以下列方式编写线程编程:

Description: 当前的perl脚本需要使用线程方法调用另一个perl模块(.pm文件)中存在的另一个子例程。

Case1:使用线程的callign子程序的一般方法就像

my $t= Thread->new(\&process, @args);

其中process是子例程存在于同一个perl文件中。

Case2:调用存在于不同perl模块中的子例程

my $t= Thread->new(\&$anotherfile->another_process, @args);

其中another_process存在于不同的perl模块中,而不在同一个perl文件中。

问题是Case2对我不起作用。我无法将任何参数传递给此线程。 可以帮助解决这个问题吗?

1 个答案:

答案 0 :(得分:0)

因为案例2给变量另一个文件的方法另一个进程返回的线程引用...

尝试使用封闭:

threads->create(
    sub {
        return $anotherfile->another_process(@_);
    },
    @args
);
相关问题