Asynclog #1 : Многопоточность с нуля: потоки и общая память | Асинхронный Дед

В первом выпуске цикла asynclog разбираем базу многопоточности: что такое поток, процесс, общая память, общее изменяемое состояние, публикация данных, атомарность, видимость и порядок. Главная мысль выпуска: многопоточность становится сложной не из-за самого факта нескольких потоков, а из-за общего изменяемого состояния. Если несколько потоков читают и меняют одни данные, программе нужен явный протокол: кто владеет данными, кто читает, кто пишет, когда результат считается опубликованным и какие гарантии получает другой поток. Это вводный выпуск. В следующей серии перейдём к race condition, data race и happens-before. Поддержать проект и разработку игры-песочницы с живым миром: https://www.patreon.com/ded_medved_sandbox https://boosty.to/ded_medved_sandbox #asynclog #многопоточность #programming #cpp #csharp #java #gamedev #techlog #дедмедвед

12+
1 просмотр
7 дней назад
12+
1 просмотр
7 дней назад

В первом выпуске цикла asynclog разбираем базу многопоточности: что такое поток, процесс, общая память, общее изменяемое состояние, публикация данных, атомарность, видимость и порядок. Главная мысль выпуска: многопоточность становится сложной не из-за самого факта нескольких потоков, а из-за общего изменяемого состояния. Если несколько потоков читают и меняют одни данные, программе нужен явный протокол: кто владеет данными, кто читает, кто пишет, когда результат считается опубликованным и какие гарантии получает другой поток. Это вводный выпуск. В следующей серии перейдём к race condition, data race и happens-before. Поддержать проект и разработку игры-песочницы с живым миром: https://www.patreon.com/ded_medved_sandbox https://boosty.to/ded_medved_sandbox #asynclog #многопоточность #programming #cpp #csharp #java #gamedev #techlog #дедмедвед

, чтобы оставлять комментарии