Главная страница


ru.perl

 
 - RU.PERL ----------------------------------------------------------------------
 From : Andrey Sapozhnikov                   2:5020/400     08 Jan 2002  17:53:38
 To : Alexander Bolotnov
 Subject : Re: ?
 -------------------------------------------------------------------------------- 
 
 Alexander Bolotnov wrote:
 
 > Anton,
 >>допyстим мне надо пеpиодически совеpшать некотоpые действия. напpимеp
 >>ежесекyндно выводить стpочкy. как это можно сделать?
 > perldoc -f sleep ?
 
 Точное решение выглядит много сложнее.Даже если абстрагироваться от того,
 что большинство из нас работает не в системах реального времени и
 никакой гарантии того, что sleep(1) вернется через секунду, а не через 5
 нет, так еще возникает нарастающая ошибка. Т.е. зарядив:
 
 foreach (1..86400) {
     print "Hello\n";
     sleep 1;
 }
 
 можно получить изрядную прибавку к запрошенным суткам. Особенно если
 print выполняется долго. Возможный выход - берем Time::HiRes и
 каждый раз перед задержкой определяем время оставшееся до "часа Х".
 После чего заказываем необходимую задержку, по возможности используя
 более точные механизмы gettimeofday и usleep. Удобен альтернативный
 механизм Time::HiRes оперирующий с плавающей арифметикой. С ним
 не придется заниматься определением того, какая точность поддерживается
 в данной ОС:
 
 use Time::HiRes;
 
 my $deadline = 1010525734;
 Time::HiRes::sleep($deadline - Time::HiRes::time);
 
 Андрей
 
 --- ifmail v.2.15dev5
  * Origin: Demos online service (2:5020/400)
 
 

Вернуться к списку тем, сортированных по: возрастание даты  уменьшение даты  тема  автор 

 Тема:    Автор:    Дата:  
 ?   Anton V. Mechetin   04 Jan 2002 21:55:26 
 ?   Sasha Chorny   05 Jan 2002 22:58:22 
 ?   Alexander Bolotnov   06 Jan 2002 00:31:06 
 Re: ?   Andrey Sapozhnikov   08 Jan 2002 17:53:38 
Архивное /ru.perl/5284381aed51.html, оценка 1 из 5, голосов 10
Яндекс.Метрика
Valid HTML 4.01 Transitional