Как Go запускает тысячи горутин
ТГК: http://t.me/praxisbc Почему 10 000 горутин не означают 10 000 потоков? Разбираем, как планировщик Go распределяет готовые задачи, что делают G, M и P, почему ожидание сети освобождает поток и где GOMAXPROCS ограничивает параллельное выполнение. Закрепите эту модель на реальных Go-проектах в Praxis: пишите код сами, а платформа покажет, какие требования уже выполнены: https://praxiscode.io/ В видео: — как оператор go создаёт горутину; — зачем рантайму G, M и P; — как работают локальные очереди и work stealing; — что происходит, когда горутина ждёт сеть; — чем конкурентность отличается от параллелизма; — почему количество горутин всё равно нужно ограничивать. Таймкоды: 00:00 10 000 горутин — не 10 000 потоков 00:16 Как создаётся горутина 00:34 G, M и P 00:56 Очереди и work stealing 01:15 Ожидание сети без занятого потока 01:34 Конкурентность и параллелизм 01:54 Почему «дёшево» не значит «бесплатно» 02:15 Вся модель и Praxis #Go #golang #backend
Название:
Как Go запускает тысячи горутин
Категория:
Разное