我正在尝试以下列方式编写线程编程:
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
对我不起作用。我无法将任何参数传递给此线程。
可以帮助解决这个问题吗?
答案 0 :(得分:0)
因为案例2给变量另一个文件的方法另一个进程返回的线程引用...
尝试使用封闭:
threads->create(
sub {
return $anotherfile->another_process(@_);
},
@args
);