TyperLabBeta
Go

Печать конкурентного Go-кода

Тренируйте Go-паттерны, которые встречаются при работе с goroutines, channels, wait groups, mutexes и select.

Зачем тренировать concurrency-печать

Конкурентный код часто несёт дополнительную структуру и пунктуацию: стрелки каналов, вложенные блоки, select cases и synchronization helpers. Эта страница собирает такие паттерны рядом, чтобы их можно было повторять целенаправленно.

Кнопка темы ведёт к следующему незавершённому упражнению по concurrency, а если такого нет — к первому релевантному упражнению темы.

Зачем тренировать concurrency-печать

Структурные символы, которые замедляют

Concurrency-фрагменты на Go добавляют channel arrows, select-блоки, synchronization helpers и многослойные отступы, из-за которых печать часто становится медленнее, чем в линейном коде.

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

Читаемые coordination-паттерны

Эти упражнения не пытаются покрыть всю теорию конкурентности. Они сфокусированы на читаемых coordination-паттернах, которые действительно приходится печатать в Go-коде.

Поэтому тема полезна и при первом знакомстве с синтаксисом, и когда нужно просто увереннее набирать уже знакомые конструкции.

Уроки по конкурентности

Эти уроки берутся напрямую из раздела Go Concurrency в course registry.

Горутины

Тренируйте запуск goroutine с осмысленными аргументами функции.

Упражнений: 1

Каналы

Тренируйте отправку, чтение и закрытие простых каналов.

Упражнений: 1

Буферизированные каналы

Тренируйте ёмкость канала и неблокирующую отправку.

Упражнений: 1

Select

Тренируйте ветки select с done-каналами и таймерами.

Упражнений: 1

WaitGroup

Тренируйте sync.WaitGroup вокруг циклов конкурентной обработки.

Упражнений: 1

Mutex

Тренируйте lock и unlock без небезопасных сокращений.

Упражнений: 1

Актуальные concurrency-упражнения

Откройте любое упражнение ниже, чтобы тренировать goroutines, channels, synchronization и select в обычном Go-тренажёре.