Back to questions
Positive Technologies
Junior — Middle
89
Каким образом реализуются параллельные вычисления в языке Go?
Companies where asked
Answer from AI
sobes.tech AI
В языке Go параллельные вычисления реализуются с помощью горутин (goroutines) и каналов (channels).
Горутины — это легковесные потоки, которые запускаются с помощью ключевого слова go. Они позволяют выполнять функции асинхронно и параллельно.
Пример параллельного запуска двух функций:
func task(id int) {
fmt.Printf("Task %d started\n", id)
// имитация работы
time.Sleep(time.Second)
fmt.Printf("Task %d finished\n", id)
}
func main() {
go task(1)
go task(2)
time.Sleep(2 * time.Second) // чтобы горутины успели завершиться
}
Каналы используются для синхронизации и передачи данных между горутинами, что позволяет безопасно обмениваться информацией без использования блокировок.
Таким образом, Go предоставляет простые и эффективные средства для организации параллельных вычислений.