Вариация примитивов синхронизации
От: lpd Черногория  
Дата: 31.10.17 13:28
Оценка:
Предлагаю для рассмотрения примитив синхронизации Checkpoints: проект github
Описание: README
Сразу оговорюсь, что не позиционирую этот примитив как убийцу мьютекса, а только предлагаю для рассмотрения как теоретический пример возможной вариации.
Если упрощенно, Checkpoint сводится к синхронизации на флагах, защищенных глобальным локом. Однако его можно рассматривать как разбиение хода выполнения программы на независимые отрезки, выполнение которых синхронизируется в точках — чекпоинтах.
В файле test/test2.cpp реализация многих писателей/многих читателей на чекпоинтах.
Не знаю, как программы синхронизировали до появления мьютексов. Возможно, в те времена использовались похожие на чекпоинты способы.
У сложных вещей обычно есть и хорошие, и плохие аспекты.
Берегите Родину, мать вашу. (ДДТ)
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.