37,741
社区成员
发帖
与我相关
我的任务
分享use strict;
use warnings;
use threads ('yield','stack_size' => 64*4096,'exit' => 'threads_only','stringify');
use threads::shared;
use Time::HiRes qw( usleep );
my $done:shared=0;
my $elapse=0;
sub displayElapseTime
{
#禁止标准输出缓冲区
select(STDOUT);
$|=1;
#循环显示时间
while(1)
{
sleep(1);
print("running in ",++$elapse," seconds\r");
lock($done);
if($done)
{
print("\n");
last;
}
}
}
my $t=threads->create(\&displayElapseTime);
my $count=0;
foreach (1..100000000)
{
++$count;
}
#设置结束状态
{#限定lock作用域
lock($done);
$done=1;
}
$t->join();
print("The count is $count.\n");