Resultados de la búsqueda a petición "goroutine"
Resolviendo el punto muerto de las goroutinas
He estado tratando de resolver este simple problema que encontré en la concurrencia de Golang. He estado buscando todas las soluciones posibles, pero no encontré nada específico para mi problema (o podría perderme una). Aquí está mi ...
Procesamiento paralelo en golang
Dado el siguiente código: package main import ( "fmt" "math/rand" "time" ) func main() { for i := 0; i < 3; i++ { go f(i) } // prevent main from exiting immediately var input string fmt.Scanln(&input) } func f(n int) { for i := 0; i < 10; i++ { ...
forma correcta de esperar a que termine una rutina
Deseo saber cuál es la forma correcta de esperar a que termine una rutina antes de salir del programa. Al leer algunas otras respuestas, parece que un bool chan hará el truco, como enEnlace de juegos [http://play.golang.org/p/ZFnygUtdSY] func ...
El servidor http de Golang se bloquea cuando comienza una rutina de bucle infinito
Como aprendí de los documentos de Golang, si configuro runtime.GOMAXPROCS (8) con una CPU de 8 núcleos (Intel i7), entonces inicie una rutina de bucle infinito, otras gorutinas no deben bloquearse porque hay hilos y goprocs. Pero esto no es ...
¿Por qué no crea muchos hilos cuando muchas gorutinas están bloqueadas al escribir un archivo en golang?
Como sabemos, se puede crear un subproceso cuando la rutina tiene que realizar una llamada de bloqueo, como una llamada al sistema o una llamada a una biblioteca C a través de cgo. Algún código de prueba: package main import ( "io/ioutil" "os" ...
cancelar una operación de bloqueo en Go
Tengo una operación de bloqueo en una biblioteca de terceros que no controlo. Potencialmente podría ir para siempre. Así que quiero establecer un tiempo de espera. La forma obvia es envolverlo con un canal y una rutina y luego seleccionar el ...
Goroutine no se ejecuta si se incluye el tiempo.
El siguiente código funciona perfectamente bien: package main import ( "fmt" ) func my_func(c chan int){ fmt.Println(<-c) } func main(){ c := make(chan int) go my_func(c) c<-3 }playgound_1 [https://play.golang.org/p/A1iylDEsv1] Sin embargo si ...
Ejecución de Goroutine dentro de un controlador http
Si inicio una rutina dentro de un controlador http, ¿se completará incluso después de devolver la respuesta? Aquí hay un código de ejemplo: package main import ( "fmt" "net/http" "time" ) func worker() { fmt.Println("worker started") ...
¿Puedo escribir simultáneamente diferentes elementos de corte
Tengo un segmento que contiene trabajo por hacer, y un segmento que contendrá los resultados cuando todo esté listo. El siguiente es un bosquejo de mi proceso general: var results = make([]Result, len(jobs)) wg := sync.WaitGroup{} for i, job ...
Apague la rutina de "trabajador" después de que el búfer esté vacío
Quiero que mi trabajador de rutina vayaProcessToDo() en el código a continuación) para esperar hasta que se procese todo el trabajo "en cola" antes de cerrar. La rutina de trabajo tiene un canal "para hacer" (almacenado), a través del cual se le ...