Sobes.tech
Junior — Middle

Каким образом реализуются параллельные вычисления в языке Go?

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 предоставляет простые и эффективные средства для организации параллельных вычислений.