study checklist
Дополнительные материалы
0 / 30материалов отмечено
Горутины и каналы
Горутины, каналы, пакет sync: конкурентность в Go | Maksim Zhashkevych, YouTubeкраткое введение в горутины, каналы и sync
↗ Concurrency: каналы, deadlock | ThisIsIT, YouTubeразбирает nil, buffered channels, close и deadlock
↗ Анатомия каналов в Go | Хабрглубоко объясняет каналы, блокировки и поведение runtime
↗ Каналы (channels) в Go | Хабрразбирает runtime-структуру каналов и основные паттерны
↗ Практика Go: Concurrency | Хабрсобирает инженерные правила для каналов и goroutines
↗ Пакет sync
WaitGroup, Data Race, Mutex/RWMutex | ThisIsIT, YouTubeпокрывает WaitGroup, data race, Mutex и RWMutex
↗ Потоки, горутины, синхронизация и мьютексы в Go | Хабркратко вводит в sync, mutex, atomic и deadlock
↗ Go sync.WaitGroup и проблема с выравниванием | Хабрразбирает WaitGroup под капотом и нюансы выравнивания
↗ Concurrency на примерах: собственная реализация Mutex на Go | Хабрпоказывает mutex через собственную реализацию на atomic
↗ Разбираемся с новым sync.Map в Go 1.9 | Хабрпомогает понять уместность sync.Map в конкурентном коде
↗ Context
Пакет context в Go: взгляд профессионала | Хабр / Positive Technologiesпрофессионально объясняет API и эволюцию context
↗ Golang: context изнутри | Хабрпоказывает внутренности context и правила его передачи
↗ Каскадная отмена контекстов в Go | Хабруглубляет понимание каскадной отмены контекстов
↗ Понимание контекста | Хабробъясняет context через done-каналы и отмену
↗ Concurrency: Context | ThisIsIT, Rutubeвидеоурок по context, отмене и worker pool
↗ Планировщик Go
Планировщик Go: самый подробный гайд простым языком | Николай Тузов, YouTubeглубокий разбор планировщика, GMP и netpoller
↗ ПЛАНИРОВЩИК GO: КАК ОН УСТРОЕН | vanyaio, YouTubeкороткое видео про GMP, очереди и netpoller
↗ Планировщик Go | Хабр / Timewebподробно раскрывает планировщик Go и runtime-механику
↗ Go scheduler простыми словами | Хабрпростое введение в модель G/M/P и планирование
↗ Work-stealing планировщик в Go | Хабркоротко раскрывает work-stealing в планировщике Go
↗ Паттерны конкурентности
Паттерны конкурентности в Go: Worker Pool | Хабрпоказывает worker pool и слабые места простых реализаций
↗ Паттерны конкурентности в Go: Fan-Out/Fan-In | Хабробъясняет Fan-Out/Fan-In через каналы и merge
↗ Паттерны конкурентности в Go: Pub/Sub | Хабрразбирает pub/sub и риски блокировок на каналах
↗ Go: особенности написания конкурентных программ | Хабрпоказывает типичные ошибки конкурентного production-кода
↗ Как не ошибиться с конкурентностью в Go | PVSMрасшифровка доклада о race detector и concurrency-ошибках
↗ Lock-free и алгоритмы синхронизации
Атомики в Go: особенности внутренней реализации | Хабробъясняет атомики через ассемблер и отличие от mutex
↗ Go: справляемся с конфликтами при блокировках с помощью пакета atomic | Хабр / OTUSвводит atomic как способ снизить contention
↗ Барьеры памяти в Golang | Хабробъясняет memory barriers, Load, Store и CAS
↗ Lock-free структуры данных: атомарность и атомарные примитивы | Хабрфундамент по атомарности, CAS и lock-free подходу
↗ Lock-free структуры данных: диссекция очереди | Хабруглубляет понимание lock-free очередей и ограничений CAS
↗