使用threads::shared,可以声明一个共享变量:
my $n_lines_waiting: shared = 0;
使用Moose,属性通过'has'声明:
has 'p_queue' => (is => 'ro', isa => 'Thread::Queue', default => sub{ return Thread::Queue->new(); });
有没有办法组合threads :: shared和Moose?我想用这个漂亮的Moose语法来声明一个可以在线程之间共享的属性。
答案 0 :(得分:0)
它应该像更改默认值以包含相同的语法一样简单:
'default' => sub {
my $queue :shared = Thread::Queue->new();
return $queue
},