👁 В Go можно легко и быстро выполнять несколько задач одновременно, используя goroutines. Это удобный способ для параллельных вычислений и обработки данных. Если нужно улучшить производительность при обработке нескольких независимых задач, Go с goroutines — отличный выбор.
Пример кода:
package main
import (
"fmt"
"time"
)
// Функция для эмуляции длительного процесса
func longProcess(taskID int) {
fmt.Printf("Задача %d началась\n", taskID)
time.Sleep(2 * time.Second)
fmt.Printf("Задача %d завершена\n", taskID)
}
func main() {
// Запуск нескольких goroutines
for i := 1; i <= 3; i++ {
go longProcess(i)
}
// Пауза, чтобы все goroutines успели завершиться
time.Sleep(3 * time.Second)
}Как это работает и преимущества :
- В Go создание параллельных задач осуществляется с помощью ключевого слова
go, которое запускает функцию как goroutine - В примере мы запускаем 3 задачи параллельно, каждая из которых вызывает функцию
longProcess, которая имитирует долгую работу с помощьюtime.Sleep - В главной функции мы добавляем
time.Sleep, чтобы программа успела дождаться завершения всех goroutines (в реальных приложениях для синхронизации лучше использовать механизмы синхронизации, например,sync.WaitGroup) - Простота параллельного выполнения задач с использованием goroutines
- Отлично подходит для I/O-операций, параллельной обработки данных, а также работы с API или базами данных
- Эффективно использует многопроцессорные системы
❗️ Go — идеальный выбор, если нужно параллельно выполнять несколько задач, не усложняя код, с минимальными затратами ресурсов.
tags: #go #разработка
❤️ @recura_tech



