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

2 la respuesta

go rutina para rango sobre canales

He estado trabajando en Golang durante mucho tiempo. Pero todavía estoy enfrentando este problema, aunque sé la solución a mi problema. Pero nunca descubrí por qué está sucediendo. Por ejemplo, si tengo una situación de canalización para ...

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

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

2 la respuesta

¿Es esto porque el compilador go optimizó el código?

package main import "time" func main() { i := 1 go func() { for { i++ } }() <-time.After(1 * time.Second) println(i) }La salida es siempre1. Sin embargo, es absolutamente que 1s es suficiente para elfor bucle para repasar muchas, muchas ...

1 la respuesta

Cierre múltiples rutinas si ocurre un error en una de cada vez

considere esta función: func doAllWork() error { var wg sync.WaitGroup wg.Add(3) for i := 0; i < 2; i++ { go func() { defer wg.Done() for j := 0; j < 10; j++ { result, err := work(j) if err != nil { // can't use `return err` here // what sould I ...

2 la respuesta

¿Es seguro leer un puntero de función al mismo tiempo sin un bloqueo?

Supongamos que tengo esto: go func() { for range time.Tick(1 * time.Millisecond) { a, b = b, a } }()Y en otra parte: i := a // <-- Is this safe?Para esta pregunta, no es importante cuál es el valor dei es con respecto al originala ob. La única ...

3 la respuesta

Contexto Golang.WithValue: cómo agregar varios pares clave-valor

Con Go'scontext paquete es posible pasar datos específicos de la solicitud a la pila de funciones de manejo de solicitudes utilizando func WithValue(parent Context, key, val interface{}) ContextEsto crea un nuevoContext que es una copia de padre ...

1 la respuesta

orden de ejecución de gorutinas

Estoy tratando de entender esta parte del código, no estoy seguro de por qué el segundo intento se ejecuta antes del primero. ¡Sería genial si alguien realmente pudiera ayudarme con esto! func sum(a []int, c chan int) { fmt.Println("summing: ", ...

1 la respuesta

Diferencia entre la goroutina principal y las goroutines generadas de un programa Go

Al crear un servidor usandogRPC, si empiezo elgRPC servidor en el proceso principal, puede manejar tantas solicitudes (miles) de clientes. Sin embargo, si inicio el servidor como una rutina, solo puede manejar algunas solicitudes (cientos) y ...

1 la respuesta

Número de hilos utilizados por Go runtime

¿Cuántos hilos puede usar el tiempo de ejecución Go (planificador, recolector de basura, etc.)? Por ejemplo, siGOMAXPROCS es10, ¿cuántos de esos hilos del núcleo serían utilizados por el tiempo de ejecución? Editar:estaba leyendolo ...