¿Cómo pausar la ejecución de Goroutine actual?

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

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *