Perl睡眠和时间测量

时间:2013-10-14 10:12:11

标签: perl time sleep

我有这段代码

my $time_start = time;
sleep 5;
my $time_diff = time - $time_start;
print "time elapsed: $time_diff";

代码大多按预期打印5,但有时会打印4.有可能导致这种情况?是睡眠是罪魁祸首,还是时间本身的测量方法有时可能会导致精确度不高的标准?

1 个答案:

答案 0 :(得分:6)

请参阅perldoc -f sleep

  

在某些较旧的系统上,它可能会比您请求的时间少一整秒,具体取决于它如何计算秒数。大多数现代系统总是睡不着觉。但是,它们可能看起来比这更长时间,因为您的进程可能不会立即安排在繁忙的多任务系统中。