我有以下代码:
use Proc::Daemon;
Proc::Daemon::Init;
my $continue = 1;
$SIG{TERM} = sub { $continue = 0 };
while ($continue) {
##DO THINGS
}
我注意到这个脚本使用了 7% 的 CPU。我相信这是因为无限循环。我相信有一种方法可以使无限循环不使用太多 CPU(这就是事件循环的工作方式)。我怎样才能使它不使用很多 CPU(我想我可以睡觉,但我想知道是否有更好的方法)。
我所做的“事情”本质上非常简单。检查计时器是否过期或设置了标志。如果是,请采取行动。