Особенности и ловушки модели памяти в Go: Пути к корректной синхронизации и ошибки в некорректной

Вопросы языкознания

GO

Доклад принят в программу конференции

Мнение Программного комитета о докладе

Описание модели памяти Go начинается со слов "если вы читаете этот документ - вы излишне умный, остановитесь". Многие остановились, но Игорь - нет, он изучил модель памяти и по документам, и на практике. Теперь этот излишне умный человек готов поделиться с нами знанием!

Целевая аудитория

Go-разработчики, которым было бы интересно по-другому взглянуть на многопоточное программирование, научиться формально обосновывать корректность программ и использовать продвинутые техники

Тезисы

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

В рамках доклада расскажу о моделе памяти Go, понятным языком объясню отношение happens before, затрону барьеры памяти, обычные и продвинутые (STM и flat combining) способы синхронизации

Работает в финтехе Яндекса, любит Go, преподает в университете и на частных курсах.

Яндекс

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

Видео