Библиотека Go-разработчика | Golang
23.3K subscribers
2.09K photos
42 videos
87 files
4.46K links
Все самое полезное для Go-разработчика в одном канале.

По рекламе: @proglib_adv

Учиться у нас: https://proglib.io/w/32d20779

Для обратной связи: @proglibrary_feeedback_bot

РКН: https://gosuslugi.ru/snet/67a4a8c2468
Download Telegram
🔧 Эффективное управление горутинами

Горутины — это то, что открывает перед нами огромные возможности. Однако, с большим количеством задач приходит и необходимость эффективно управлять ими.

Давайте представим ситуацию, когда вам нужно выполнить множество однотипных операций — например, обработку запросов к базе данных, массовую загрузку данных или параллельные вычисления.

С помощью Ants вы создаете пул горутин, который управляет числом параллельных задач, позволяя их выполнять только в пределах установленного лимита.

Например, если вы хотите ограничить количество одновременно выполняющихся горутин до 10:
package main

import (
"fmt"
"sync"
"time"

"github.com/panjf2000/ants/v2"
)

func main() {
pool, _ := ants.NewPool(10) // Создаем пул с 10 горутинами
defer pool.Release() // Освобождаем ресурсы по завершению

var wg sync.WaitGroup

for i := 0; i < 20; i++ { // Добавляем 20 задач
wg.Add(1)
pool.Submit(func() {
defer wg.Done()
fmt.Println("Задача выполняется")
time.Sleep(1 * time.Second) // Симуляция работы
})
}

wg.Wait() // Ждем завершения всех задач
fmt.Println("Все задачи завершены!")
}


Несмотря на то, что добавляем 20 задач, одновременно будут работать только 10, и по мере их завершения пул будет заполняться новыми задачами.

Что ещё умеет Ants:

• Пул горутин обрабатывает паники.

• Можно использовать контексты для отмены задач.

• Можно настраивать пул по ёмкости, числу параллельных задач и времени жизни горутин.

➡️ GitHub библиотеки

🐸Библиотека Go-разработчика

#буст
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8🤔1
Мы сделаем вам предложение, от которого невозможно отказаться 🤌

Вы покупаете себе курс «Математика для Data Science» от преподавателей ВМК МГУ, а мы дарим второй такой же курс вашему другу.

Предложение действует только до 1 сентября. Ничего личного, просто математика.

👉 Принять предложение
📢 Какой сетап идеально подойдёт для разработки AI-агента?

Голосуйте за свой вариант и пишите в комментариях, в каком режиме вы реально кодите.

❤️ — 1
👍 — 2
⚡️ — 3
👏 — 4
🔥 — 5
🎉 — 6
😁 — 7
😍 — 8
🤩 — 9

Какой бы сетап ни был, без AI-агентов в 2025 всё равно далеко не уедешь.

👉 Научим, как строить агентов, которые кодят с тобой
14👍6🤩6🎉53