in reply to Re: Spining "stick"
in thread Spining "stick"
use strict; use threads qw[ async yield ]; use threads::shared; my $ready : shared = 0; my $isOk : shared = 0; async{ local $|=1; while( !$ready ) { do{ select undef, undef, undef, 0.2; printf "\r ($_)" if ($isOk) } for qw[ / - \ | * ]; } print "\rReady"; $ready = 0; }->detach; for ( 1 .. 10 ) { ## Busy, busy, busy $isOk=1; sleep 1; $isOk=0; } $isOk=0; $ready = 1; yield while $ready;
|
|---|