2009-08-25 28 views

Respuesta

493

Es bastante fácil:

sleep(num_secs) 

El valor '' num_secs puede ser un número entero o flotante. Además, si usted está escribiendo esto dentro de una aplicación Rails, o ha incluido la biblioteca ActiveSupport en su proyecto en otro lugar, se puede construir intervalos más largos utilizando la sintaxis conveniencia siguiente:

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

Uso sleep así:

sleep 2 

Eso va a dormir durante 2 segundos.

Tenga cuidado de dar un argumento. Si acaba de ejecutar sleep, el proceso durmirá para siempre. (Esto es útil cuando se desea un hilo a dormir hasta que se despertó.)

+1

Espera, ¿duerme para siempre o hasta que se "despierta"? ¿Qué significa "despertar" incluso? – anthropomorphic

+4

@anthropomorphic Se refiere a cuando otro hilo llama a Thread # run. –

+0

En realidad, cuando otro hilo llama Thread # wakeup, supongo. – chesterbr

2

sleep 6 dormirá durante 6 segundos. Para una duración más larga, también puede usar sleep(6.minutes) o sleep(6.hours).

+2

No estoy seguro acerca de los downvotes en esto, pero podría ser que 'minutes()' y 'hours()' son métodos numéricos añadidos por Ruby on Rails, por lo que no están disponibles en Ruby, en la clase ActiveSupport :: Duration. Aunque son bastante convenientes. –

Cuestiones relacionadas