1
我有這樣一段代碼Perl的睡眠和時間測量
my $time_start = time;
sleep 5;
my $time_diff = time - $time_start;
print "time elapsed: $time_diff";
的代碼大多是印刷5如預期,但有時它打印4.什麼會possibily引起的?是罪魁禍首的睡眠,還是時間本身的測量方式,有時候可能會導致不太精確的值?
我有這樣一段代碼Perl的睡眠和時間測量
my $time_start = time;
sleep 5;
my $time_diff = time - $time_start;
print "time elapsed: $time_diff";
的代碼大多是印刷5如預期,但有時它打印4.什麼會possibily引起的?是罪魁禍首的睡眠,還是時間本身的測量方式,有時候可能會導致不太精確的值?
在一些舊系統中,可能睡了一整秒不到你的要求是什麼,這取決於如何計算秒。大多數現代系統總是睡眠的全部數量。然而,它們看起來睡眠時間可能比這更長,因爲您的進程可能不會在繁忙的多任務系統中立即安排。
也許你應該使用'Time :: HiRes'模塊,如果精度很重要的話。 – TLP