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

Multithreading 如何使用线程从另一个perl模块调用子例程,multithreading,perl,Multithreading,Perl,我尝试以以下方式对perl进行线程编程: 说明: 当前的perl脚本需要使用thread方法调用另一个perl模块(.pm文件)中存在的另一个子例程 Case1:使用线程调用子例程的一般方法如下 my $t= Thread->new(\&process, @args); 其中process是同一perl文件中存在的子例程 Case2:调用存在于不同perl模块中的子例程 my $t= Thread->new(\&$anotherfile->another_pr

我尝试以以下方式对perl进行线程编程:

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

Case1:
使用线程调用子例程的一般方法如下

my $t= Thread->new(\&process, @args);
其中process是同一perl文件中存在的子例程

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

my $t= Thread->new(\&$anotherfile->another_process, @args);
另一个_进程存在于不同的perl模块中,而不是在同一个perl文件中

问题是
案例2
对我不起作用。我无法将任何参数传递到此线程。
有谁能帮我解决这个问题吗?

因为案例2给出了从另一个文件上的另一个\u进程返回的线程引用

尝试使用闭合:

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

首先,您应该
使用另一个文件中的
要求
包,并通过包指向它的方法。您的
线程
是旧的、不推荐使用的线程模型;您使用的是哪个perl版本?