控制并发数量

my @promises;
for 0..13 {
    push @promises, start {say $_;sleep 1;}
    if @promises == 4 {
      await Promise.allof(@promises);
      @promises = [];
    }
}
await @promises;

每 4 个线程, 就先等待返回线程返回。

 

里面的grep为了提取已完成的, 未完成的就再保存。

 

posted on 2017-08-29 12:08  Perl6  阅读(378)  评论(0编辑  收藏  举报

导航