在Perl中我怎么睡不到一秒钟?
How do I sleep for shorter than a second in Perl?
推荐答案从 sleep的Perldoc页面上:
要获得比一秒更细粒度的延迟,请使用 Time :: HiRes 模块(从CPAN开始,并从标准发行版本的Perl 5.8开始)提供usleep().
For delays of finer granularity than one second, the Time::HiRes module (from CPAN, and starting from Perl 5.8 part of the standard distribution) provides usleep().
实际上,它提供usleep()(以毫秒为单位)和nanosleep()(以毫微秒为单位).您可能需要usleep(),它可以让您处理更简单的数字. 1毫秒睡眠(每次使用):
Actually, it provides usleep() (which sleeps in microseconds) and nanosleep() (which sleeps in nanoseconds). You may want usleep(), which should let you deal with easier numbers. 1 millisecond sleep (using each):
use strict; use warnings; use Time::HiRes qw(usleep nanosleep); # 1 millisecond == 1000 microseconds usleep(1000); # 1 microsecond == 1000 nanoseconds nanosleep(1000000);如果您不想(或无法)加载模块来执行此操作,则还可以使用内置的 select() 函数:
If you don't want to (or can't) load a module to do this, you may also be able to use the built-in select() function:
# Sleep for 250 milliseconds select(undef, undef, undef, 0.25);更多推荐
如何在Perl中睡眠一毫秒?
发布评论