我搜索过相关主题,但仍然无法解决问题...
use threads;
my $person = new Person( 'Name' => "yy");
my $udp_thread = threads->new(\&udp_func);
while(1)
{
$person->working();
}
sub udp_func
{
#Can't call method "setName" on an undefined value:
$person->setName();
}
如何在新主题中访问对象$ person?非常感谢!!
答案 0 :(得分:4)
您是否看过threads::shared Perl扩展程序?
threads :: shared - 用于在线程之间共享数据结构的Perl扩展。默认情况下,变量对每个线程都是私有的,每个新创建的线程都会获得每个现有变量的私有副本。此模块允许您跨不同的线程(和Win32上的伪叉)共享变量。它与线程模块一起使用。此模块仅支持共享以下数据类型:标量和标量引用,数组和数组引用,以及散列和散列引用。