Как спать на 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 нс. – Piskvor
Страница во времени :: HiRes говорит что-то вроде «если вам нужно наносить свет(), вы должны пересмотреть, является ли Perl лучшим инструментом для вашей работы». –
Существует также Time :: HiRes :: sleep (0.3), который будет спать на .3 секунды. –
Время :: HiRes:
use Time::HiRes;
Time::HiRes::sleep(0.1); #.1 seconds
Time::HiRes::usleep(1); # 1 microsecond.
a lousy 34 seconds :) – TML
Использование Time::HiRes.
Быстрый поиск по страницам "perl high resolution timers" дал ссылку на Time::HiRes. Может быть, это то, что вы хотите.
От perlfaq8:
Как я могу спать() или тревоги() для под вторым?
Если вы хотите более тонкую детализацию, чем 1 секунду, что обеспечивает функция sleep(), самый простой способ - использовать функцию select(), как описано в select perlfunc. Попробуйте модули Time :: HiRes и BSD :: Itimer (доступные из CPAN и начиная с Perl 5.8 Time :: HiRes является частью стандартного дистрибутива).
system "sleep 0.1";
делает трюк.
- 1. C++: Как спать за наносекунду?
- 2. Временные ряды участка за миллисекунду
- 3. Приостановить поток менее чем за миллисекунду
- 4. Как показывать миллисекунду в секундомере?
- 5. Как сделать миллисекунду уникальной?
- 6. Как захватить миллисекунду в arduino
- 7. Как спать в QRunnable?
- 8. как спать в Qt4
- 9. Как спать за несколько миллисекунд в быстрой 2.2?
- 10. Преобразование времени в миллисекунду
- 11. Нить спать в BackgroundWorker
- 12. Как спать за 10 секунд до запуска команды linux?
- 13. Как получить миллисекунду текущего времени?
- 14. Как предотвратить спать в Android
- 15. Как спать в течение цикла
- 16. Как спать в ядре Linux?
- 17. Как «спать» в программе Brainf_ck?
- 18. Как спать/пауза в Qt?
- 19. C++ как спать?
- 20. Как заставить актера спать?
- 21. Видео воспроизводится за миллисекунду, реализованную с использованием вида youtubeplayer
- 22. Как спать() из ядра init?
- 23. Преобразовать DateTime в миллисекунду IOS
- 24. Как извлечь миллисекунду с даты в Oracle?
- 25. Конвертировать миллисекунду в секундах как (0.24)
- 26. Как преобразовать миллисекунду в соответствующее время?
- 27. получить миллисекунду часть времени
- 28. Проблема с DateTimeFormatter.ISO_INSTANT в миллисекунду
- 29. Преобразование ULARGE_INTEGER QuadPart в миллисекунду
- 30. спать в сценарии bash
Это потому, что я считаю, что это название на самом деле более полезно. Позвольте мне попытаться аргументировать это. Что такое B.D.F. был дубликат вопроса в заголовке, который не добавляет никакой выразительности. Когда я искал в Интернете ответ, я действительно искал миллисекундный сон, а не для «короче второго» сна. Я говорю, что эта версия имеет больше шансов попасть в различные поисковые запросы Google, чем в B.D.F. Пожалуйста, поправьте меня, если я ошибаюсь. –