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

2 la respuesta

¿Cómo recopilar valores de N goroutines ejecutados en un orden específico?

A continuación se muestra una estructura de tipo Stuff. Tiene tres ints. UNANumber, esDouble y esPower. Supongamos que calcular el doble y la potencia de una lista dada de entradas es un cálculo costoso. type Stuff struct { Number int Double int ...

2 la respuesta

¿Es este un grupo de hilos de trabajo idiomático en Go?

Estoy tratando de escribir un grupo de trabajadores simple con gorutinas. ¿Es el código que escribí idiomático? Si no, ¿qué debería cambiar?Quiero poder establecer el número máximo de subprocesos de trabajo en 5 y bloquear hasta que un ...

2 la respuesta

¿Cómo podemos usar canales en Go en lugar de mutex?

Los canales combinan la comunicación (el intercambio de un valor) con la sincronización, lo que garantiza que dos cálculos (gorutinas) se encuentren en un estado conocido. ¿Cómo es posible usar los canales en Google Go para realizar la ...

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

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

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

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