#!/bin/perl ########### use threads; use strict; use warnings; our $nthr = 4; { threads->new(\&sub1,"1"); threads->new(\&sub1,"2"); threads->new(\&sub1,"3"); threads->new(\&sub1,"4"); while($nthr > 0){} } sub sub1 { my $id = shift; our $nthr -= 1; sleep(rand(10)); print "thread done. ($id,n=". $nthr .")\n"; }