gpt4 book ai didi

multithreading - 跟踪后台进程?

转载 作者:行者123 更新时间:2023-12-03 13:00:21 24 4
gpt4 key购买 nike

我想运行一堆由Perl调用的进程,但只想一次运行8个(我的机器上的内核数)。例如:

for ( my $i = 1; $i <= 20; $i++) {
my $command = `some_process $i &`;
}

那将运行该进程的20个线程,但是我将耗尽CPU和/或内存。我首先要运行8,然后在一个过程完成时启动另一个,直到完成20。

有什么简单的方法可以做到这一点?

最佳答案

您可以尝试使用wait bultin(请参见perlfunc(1)联机帮助页):

for ( my $i = 1; $i <= 20; $i++) {
wait if $i > 8;
my $command = `some_process $i &`;
}

但是并不能保证进程将在处理器之间平均分配。

关于multithreading - 跟踪后台进程?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21271552/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com