控制并发数量

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

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

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

原文地址:https://www.cnblogs.com/perl6/p/7447646.html