Tag: GOROUTINE
Estoy tratando de entender los contextos y canales en Go, pero estoy teniendo dificultades para comprender lo que está sucediendo. Aquí hay un código de ejemplo. package main import ( “context” “fmt” “log” “time” “golang.org/x/time/rate” ) func main() { msgs := make(chan string) ctx, cancel := context.WithTimeout(context.Background(), 1*time.Second) defer cancel() . . . Read more
Tengo el siguiente fragmento de código. Estoy intentando ejecutar 3 rutinas GO al mismo tiempo sin exceder tres. Esto funciona como se espera, pero el código se supone que está ejecutando actualizaciones en una tabla de la base de datos. Entonces, la primera rutina procesa los primeros 50, luego los . . . Read more
Cuando no se utiliza goroutine, se ejecuta 500 * 100000000 veces más uno. // 1m12.2857724s start := time.Now() for i := 0; i < 500; i++ { res := 0 for j := 0; j < 100000000; j++ { res++ } } duration := time.Since(start) fmt.Println(duration) Cuando se utiliza goroutine, . . . Read more
Sé que si la goroutine B se inicia desde una determinada goroutine A y si la goroutine A termina, no importa cuánto avance la goroutine B, terminará forzosamente. func main() { go simulateGinAPI() fmt.Println(“finalizar…”) } func simulateGinAPI() { fmt.Println(“ginAPI….”) go backgroundProcess() } func backgroundProcess() { fmt.Println(“calculando…”) fmt.Println(calcular(45)) } func calcular(x . . . Read more
Estoy recibiendo este error en la función “FindPathConcurently”. Como soy nuevo en Go, intento entenderlo pero no puedo, cualquier ayuda sería muy apreciada. Estoy tratando de resolver un problema donde estoy escribiendo código para resolver un laberinto. Node es simplemente una structura con next y value. func FindExitConcurrently(root []*Node, paths . . . Read more