我在Perl中如何睡眠時間短於一秒?我如何在Perl中睡一毫秒?
回答
從的Perldoc頁上sleep:
對於更細的粒度的延遲超過一秒鐘,所述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);
警告:雖然你可以納睡(1),但許多操作系統都有一些最小粒度;例如我相信它在Windows XP中爲1毫秒,所以你仍然可以在那裏睡1000000 ns。 – Piskvor 2009-05-22 08:56:30
時間::高分辨率:
use Time::HiRes;
Time::HiRes::sleep(0.1); #.1 seconds
Time::HiRes::usleep(1); # 1 microsecond.
糟糕的34秒:) – TML 2009-05-22 08:44:20
使用Time::HiRes。
「perl高分辨率定時器」的快速搜索引用了Time::HiRes。也許這就是你想要的。
從perlfaq8:
我怎麼能睡覺()或報警()如屬第二下?
如果您希望比sleep()函數提供的1秒更精細的粒度,最簡單的方法是使用select()函數,如perlfunc中的select所述。嘗試使用Time :: HiRes和BSD :: Itimer模塊(可從CPAN獲得,並從Perl 5.8開始,Time :: HiRes是標準分發的一部分)。
system "sleep 0.1";
有竅門。
- 1. 毫秒睡眠上的iOS4
- 2. 如何在Phoenix Logger中僅記錄秒數,毫秒毫秒?
- 3. 如何在java中輪迴一毫秒?
- 4. Perl strptime解析毫秒
- 5. 如何在毫秒中將時間戳轉換爲毫秒
- 6. 如何實現100毫秒睡眠的重試機制
- 7. msleep(毫秒)與msleep_interruptible(毫秒)
- 8. 使用毫秒而不是在C++中使用秒來睡眠線程
- 9. 如何在C#中使秒錶顯示秒和毫秒?
- 10. 我如何用毫秒製作TimeStamp?
- 11. 如何在毫秒中包含DateTime
- 12. 如何在C中打印毫秒?
- 13. 如何在android中添加兩毫秒
- 14. 如何在mysql中獲得毫秒
- 15. 如何在C++中獲得毫秒?
- 16. 毫微秒到毫微秒的轉換毫秒數<999999在Java中
- 17. Perl:睡眠x秒除非按鍵
- 18. 毫秒到秒?
- 19. 如何毫秒的一個mouseExit事件
- 20. 如何在毫秒中減去microtime和顯示日期以毫秒?
- 21. C++:如何睡眠納秒?
- 22. 如何把msp430睡12秒?
- 23. 如何使用毫秒pthread_cond_timedwait
- 24. 如何使用毫秒
- 25. 如何解析毫秒?
- 26. 如何清除NSDate毫秒
- 27. 如何改變從毫秒
- 28. 如何獲得毫秒?
- 29. 如何將日期更改爲毫秒毫秒SQL服務器
- 30. 如何打印日期時間,毫秒毫秒
這是因爲我相信這個標題實際上更有幫助。讓我試着去論證這一點。什麼B.D.F.確實是在題目中重複了不加表達的問題。當我在網上尋找答案時,我實際上是在尋找毫秒級的睡眠,而不是「短於一秒」的睡眠。我說這個版本比B.D.F有更好的機會通過不同的谷歌搜索。如果我錯了,請糾正我。 – 2009-07-20 13:52:24