2009-08-25 11 views

cevap

493

Oldukça kolay:

sleep(num_secs) 

'num_secs' değeri bir tamsayı veya ondalık sayı olabilir. Bir Raylar uygulaması içinde bu yazıyoruz veya başka bir yere projenizde ActiveSupport kütüphanesi dahil ettik Ayrıca, aşağıdaki kolaylık sözdizimi kullanarak daha uzun aralıklarla inşa edebilirsiniz:

sleep(4.minutes) 
# or, even longer... 
sleep(2.hours); sleep(3.days) # etc., etc. 
#Or shorter 
sleep(0.5) #Half a second 
96

Kullanım sleep şöyle:

sleep 2 

Yani 2 saniye uyku.

Bir argüman vermeyi unutmayın. Sadece sleep çalıştırırsanız, süreç sonsuza kadar uyuyacaktır. (Bunu uyandı edilene kadar bir iplik uyumak istediğinizde kullanışlıdır.)

+1

Bekleyin, sonsuza dek mi, yoksa "uyandı" mı? "Uyandı" bile ne anlama geliyor? – anthropomorphic

+4

@anthropomorphic Başka bir iş parçacığı Thread # run çağırdığında başvuruyor. –

+0

Aslında, başka bir iş parçacığı Thread # wakeup çağırır, varsayalım. – chesterbr

2

sleep 6 6 saniye boyunca uyuyacaksınız. Daha uzun bir süre için, sleep(6.minutes) veya sleep(6.hours)'u da kullanabilirsiniz.

+2

Bu konudaki düşüşlerden emin değilsiniz, ancak 'minutes()' ve 'hours()', Ruby on Rails tarafından eklenen sayısal yöntemler üzerinde - yani Ruby'de standart olmayan - ActiveSupport :: Duration sınıfında olabilir. Yine de oldukça uygunlar. –

İlgili konular