在Perl中,我怎么睡不到一秒钟?
Answers:
从Perldoc页面上进入睡眠状态:
对于比一秒更精细的延迟,Time :: HiRes模块(来自CPAN,从标准分发的Perl 5.8部分开始)提供usleep()。
实际上,它提供了usleep()
(以毫秒为单位)和nanosleep()
(以纳秒为单位)休眠。您可能需要usleep()
,它应该使您处理更简单的数字。1毫秒睡眠(每次使用):
use strict;
use warnings;
use Time::HiRes qw(usleep nanosleep);
# 1 millisecond == 1000 microseconds
usleep(1000);
# 1 microsecond == 1000 nanoseconds
nanosleep(1000000);
如果您不想(或无法)加载模块来执行此操作,则还可以使用内置select()
函数:
# Sleep for 250 milliseconds
select(undef, undef, undef, 0.25);
时间::高分辨率:
use Time::HiRes;
Time::HiRes::sleep(0.1); #.1 seconds
Time::HiRes::usleep(1); # 1 microsecond.
使用时间:: HiRes。
快速浏览“ perl高分辨率计时器”可以参考Time :: HiRes。也许这就是您想要的。