while(size > 0) do
...
sleep 1
end
Проблема в том что функция sleep иногда "залипает".
Может залипнуть на 5 итерации, а может и на 3005.
Вот тут http://groups.google.com/group/ruby-talk-google/browse_thread/thread/b3033be4db82e75e
чуваки пишут что поскольку sleep использует системное время, а не
процессорные тики, то может и вобще не слипнуть или уснуть слишком
надолго, поскольку системное время не стабильно.
Подскадите друзья, так ли это, и можно ли это обойти?
begin
SystemTimer.timeout_after(2.seconds) { sleep 1 }
rescue Timeout::Error => e
puts "SLEEP: timeout"
end
помогло, но всем понятно что бред ))
Есть варианты? Кто-нибудь?
On Dec 27, 7:22 pm, Akim <gleb.rezvuk...@gmail.com> wrote:
> Есть скрипт с циклом:
>
> while(size > 0) do
> ...
> sleep 1
> end
>
> Проблема в том что функция sleep иногда "залипает".
> Может залипнуть на 5 итерации, а может и на 3005.
> Вот тутhttp://groups.google.com/group/ruby-talk-google/browse_thread/thread/...
On Dec 27, 8:43 pm, Anton Ageev <ant...@gmail.com> wrote:
> А с какой целью делается sleep 1?
>
> 2009/12/27 Akim <gleb.rezvuk...@gmail.com>:
>
> > Есть скрипт с циклом:
>
> > while(size > 0) do
> > ...
> > sleep 1
> > end
>
> > Проблема в том что функция sleep иногда "залипает".
> > Может залипнуть на 5 итерации, а может и на 3005.
> > Вот тутhttp://groups.google.com/group/ruby-talk-google/browse_thread/thread/...
SystemTimer.timeout_after(2.seconds) { sleep 1 } точно так же имеет
право залипнуть часа на четыре,
это заявленная семантика данной функции.
Однако возвращаясь к реальным задачам: а что плохо, что залипло чуть
на подольше?
SystemTimer кстати не залип еще ни разу.
Я просто не ожиал глюки увидеть в такой функции как sleep.
Винда?
On Dec 27, 9:48 pm, Max Lapshin <max.laps...@gmail.com> wrote:
> 2009/12/27 Akim <gleb.rezvuk...@gmail.com>:
И какое значит реальное время залипания?