Resultados de la búsqueda a petición "goroutine"

5 la respuesta

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 ...

4 la respuesta

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++ { ...

2 la respuesta

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 ...

2 la respuesta

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 ...

3 la respuesta

¿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" ...

2 la respuesta

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 ...

1 la respuesta

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 ...

2 la respuesta

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") ...

2 la respuesta

¿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 ...

2 la respuesta

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 ...