簡體   English   中英

如何在Perl中睡眠一毫秒?

[英]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.

http://perldoc.perl.org/Time/HiRes.html

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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM