[英]How do I sleep for a millisecond in Perl?
在Perl中,我怎么睡不到一秒鍾?
從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.
從perlfaq8 :
如何在不到一秒鍾的時間內休眠()或警報()?
如果您想獲得比sleep()函數提供的1秒更好的粒度,最簡單的方法是使用perlfunc中select中記錄的select()函數。 嘗試使用Time :: HiRes和BSD :: Itimer模塊(可從CPAN獲得,從Perl 5.8開始,Time :: HiRes是標准發行版的一部分)。
使用時間:: HiRes 。
快速瀏覽“ perl高分辨率計時器”可以參考Time :: HiRes 。 也許這就是您想要的。
system "sleep 0.1";
絕招。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.