my @promises;
for 0..13 {
push @promises, start {say $_;sleep 1;}
if @promises == 4 {
await Promise.allof(@promises);
@promises = [];
}
}
await @promises;
每 4 个线程, 就先等待返回线程返回。
里面的grep为了提取已完成的, 未完成的就再保存。
my @promises;
for 0..13 {
push @promises, start {say $_;sleep 1;}
if @promises == 4 {
await Promise.allof(@promises);
@promises = [];
}
}
await @promises;
每 4 个线程, 就先等待返回线程返回。
里面的grep为了提取已完成的, 未完成的就再保存。