Resultados da pesquisa a pedido "goroutine"

1 a resposta

Por que Golang não pode gerar json a partir de struct com o caractere minúsculo da frente?

Estou tentando imprimir o resultado do json a partir da estrutura que criei da seguinte maneira: type Machine struct { m_ip string m_type string m_serial string }e imprima m:= &Machine{ m_ip:"test", m_type:"test", m_serial:"test" } ...

4 a resposta

É uma goroutine Go uma co-rotina?

2 a resposta

Isso ocorre porque o compilador go otimizou o código?

package main import "time" func main() { i := 1 go func() { for { i++ } }() <-time.After(1 * time.Second) println(i) }A saída é sempre1. No entanto, é absolutamente que 1s é suficiente para ofor loop para passar por muitas e muitas vezes. Eu ...

2 a resposta

cancelar uma operação de bloqueio no Go

Eu tenho uma operação de bloqueio em uma biblioteca de terceiros que não controle. Pode potencialmente durar para sempre. Então, eu quero definir um tempo limite para isso. A maneira óbvia é envolvê-lo com um canal e uma goroutine e depois ...

1 a resposta

ordem de execução das goroutines

Estou tentando entender esse pedaço de código, não sei por que o segundo passo é executado antes do primeiro. Seria ótimo se alguém realmente pudesse me ajudar com isso! func sum(a []int, c chan int) { fmt.Println("summing: ", a) total := 0 for ...

2 a resposta

No Windows, é possível executar uma única goroutine como um usuário diferente?

Como você delega a execução de uma goroutine para outra conta de não administrador no Windows? Vejo que você pode fazer isso emLinux [https://groups.google.com/forum/#!topic/golang-nuts/IpfEDBVSE34] usandosyscall.Setuid(). Não consigo ver como ...

2 a resposta

maneira adequada de aguardar o término de uma rotina

Desejo saber qual é a maneira correta de aguardar o término de uma rotina antes de sair do programa. Lendo algumas outras respostas, parece que um bool chan fará o truque, como emLink para parque ...

1 a resposta

Feche várias goroutines se ocorrer um erro de uma vez

considere esta função: 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 ...

6 a resposta

como parar uma goroutine

Tenho uma goroutine que chama um método e passa o valor retornado em um canal: ch := make(chan int, 100) go func(){ for { ch <- do_stuff() } }()Como faço para parar uma goroutine?

3 a resposta

Aguarde o término de n goroutines

Eu preciso começar uma enorme quantidade de goroutines e esperar pela sua rescisão. A maneira intuitiva parece usar um canal para esperar até que todos estej...