Как найти goroutine leak?

Middle
313 просмотров
AFK Offer AI

Goroutine leak — горутина, которая никогда не завершится (заблокирована на канале, который никто не закроет). Признаки: runtime.NumGoroutine() растёт со временем. Находишь: goroutine profile показывает, где застряли. Частые причины: забыл закрыть канал, забыл отменить context, select без default и done case. Библиотека goleak (uber-go/goleak) проверяет утечки в тестах. Профилактика: всегда передавай context, используй defer cancel(), закрывай каналы.

Следующий вопрос

Что такое LATERAL JOIN?