Una Goroutine es una función o método que se ejecuta de forma independiente y simultánea en conexión con cualquier otra Goroutine presente en su programa. O, en otras palabras, cada actividad que se ejecuta simultáneamente en el lenguaje Go se conoce como Goroutines. Entonces, en el lenguaje Go, puede pausar la ejecución de la rutina actual usando la función Sleep() .
Esta función detiene la goroutine actual durante al menos la duración especificada, después de completar la duración especificada, la goroutine se activa automáticamente y reanuda su funcionamiento. Si el valor de esta función es negativo o cero, esta función regresa inmediatamente. Se define en el paquete de tiempo, por lo que debe importar el paquete de tiempo en su programa para acceder a la función de suspensión.
Sintaxis:
func Sleep(d_value Duration)
Aquí, d_value representa la duración del tiempo en el que desea dormir la rutina actual. Puede ser en segundos, milisegundos, nanosegundos, microsegundos, minutos, etc. Discutamos este concepto con la ayuda de los ejemplos dados:
Ejemplo 1:
// Go program to illustrate how // to put a goroutine to sleep package main import ( "fmt" "time" ) func show(str string) { for x := 0; x < 4; x++ { time.Sleep(300 * time.Millisecond) fmt.Println(str) } } // Main Function func main() { // Calling Goroutine go show("Hello") // Calling function show("GeeksforGeeks") }
Producción:
Hello GeeksforGeeks GeeksforGeeks Hello Hello GeeksforGeeks GeeksforGeeks
Ejemplo 2:
// Go program to illustrate how // to put a goroutine to sleep package main import ( "fmt" "time" ) // Here, the value of Sleep function is zero // So, this function return immediately. func show(str string) { for x := 0; x < 4; x++ { time.Sleep(0 * time.Millisecond) fmt.Println(str) } } // Main Function func main() { // Calling Goroutine go show("Hello") // Calling function show("Bye") }
Producción:
Bye Bye Bye Bye
Publicación traducida automáticamente
Artículo escrito por ankita_saini y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA