sub test { my ($self, $x1) = @_; ... }; sub startThread { my $self = shift; my $thr; share ($self->{x2}); print "threads->create \$self{x1}=$self->{x1}\n"; $thr = threads->create('test', $self, $self->{x1}); $thr->detach(); }