#! perl -slw use strict; use threads; use threads::shared; use Time::HiRes qw[ time ]; my $count :shared = 0; async{ my $last = $count; while( sleep 1 ) { my $now = $count; printf "%d threads/second\n", $now - $last; $last = $now; } }->detach; threads->create( sub { lock $count; ++$count; } )->join while 1;