Go есть "гоурутина" 
                  
                  
                  func f(n int) {
                  
                  
                      for i := 0; i < 10; i++ {
                  
                  
                          fmt.Println(n, ":", i)
                  
                  
                      }
                  
                  
                  }
                  
                  
                  
                  
                  
                  func main() {
                  
                  
                      go f(0)
                  
                  
                  }
                  
                  
                  Когда это лучше использовать и когда не нужно? Разве Go сам по себе не является многопоточным, как например сервер nginx? В чем смысл "гоурутины"
                  
                  
                
может стоит таки прочитать хотя бы a tour of go?
смысл в том, что несколько горутин может работать внутри одного нативного треда. благодаря этому их можно создавать практически неограниченное количество для распараллеливания вычислений с минимальным оверхедом - простой синхронный код без идиотских асинхронных костылей я-ля скала/C#/nodejs.
Обсуждают сегодня