2009-08-25 32 views

Trả lời

493

Nó khá dễ dàng:

sleep(num_secs) 

Giá trị 'num_secs' có thể là một số nguyên hoặc phao. Ngoài ra, nếu bạn đang viết những dòng này trong một ứng dụng Rails hoặc đã bao gồm thư viện ActiveSupport ở nơi khác trong dự án của bạn, bạn có thể xây dựng các khoảng còn sử dụng cú pháp tiện lợi sau:

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

Sử dụng sleep như vậy:

sleep 2 

Đó sẽ ngủ trong 2 giây.

Hãy cẩn thận để đưa ra một đối số. Nếu bạn chỉ chạy sleep, quá trình sẽ ngủ mãi mãi. (Điều này rất hữu ích khi bạn muốn có một thread để ngủ cho đến khi nó đánh thức.)

+1

Chờ, nó sẽ ngủ mãi mãi, hoặc cho đến khi nó được "đánh thức"? Những gì hiện "woken" thậm chí có nghĩa là gì? – anthropomorphic

+4

@anthropomorphic Nó đề cập đến khi một luồng khác gọi Thread # run. –

+0

Trên thực tế, khi một chủ đề khác gọi là Đánh thứC#, tôi giả sử. – chesterbr

2

sleep 6 sẽ ngủ trong 6 giây. Trong thời gian dài hơn, bạn cũng có thể sử dụng sleep(6.minutes) hoặc sleep(6.hours).

+2

Không chắc chắn về các downvotes về điều này, nhưng nó có thể là 'minutes()' và 'hours()' là các phương thức về số học được Ruby on Rails thêm vào - vì vậy không có sẵn tiêu chuẩn trong Ruby - trong lớp ActiveSupport :: Duration. Họ khá thuận tiện mặc dù. –

Các vấn đề liên quan