История изменений
Исправление red75prim, (текущая версия) :
Но с таким же успехом я могу взять либу под кресты, которая гарантирует отсутствие data race (не важно, насколько это неудобно и медленно работает)
Какую, например? Чтобы предметно поговорить как там обеспечиваются и обеспечиваются-ли гарантии. Если таких нет, хорошо бы услышать про теоретический способ обеспечения гарантий. Понятно, что такая библиотека не может отдавать ссылки/указатели на защищаемые данные (их можно передать в другой поток). Как это реализовать?
Единственное, что я вижу - сделать обёртки, которые хранят и проверяют thread id при каждом доступе к данным.
Ну и назвать использование тормозной и неудобной библиотеки «с таким-же успехом» - это таки очень альтернативное понимание программирования.
Исправление red75prim, :
которая гарантирует отсутствие data race (не важно, насколько это неудобно и медленно работает)
Какую, например? Чтобы предметно поговорить как там обеспечиваются и обеспечиваются-ли гарантии. Если таких нет, хорошо бы услышать про теоретический способ обеспечения гарантий. Понятно, что такая бибилотека не может отдавать ссылки/указатели на защищаемые данные (их можно передать в другой поток). Как это реализовать?
Исправление red75prim, :
которая гарантирует отсутствие data race (не важно, насколько это неудобно и медленно работает)
Какую, например? Чтобы предметно поговорить как там обеспечиваются и обеспечиваются-ли гарантии. Если таких нет, хорошо бы услышать про теоретический способ обеспечения гарантий. Понятно, что такая бибилотека не может отдавать ссылки/указатели на защищаемые данные (их можно передать в другой поток). Как это реализовать.
Исходная версия red75prim, :
которая гарантирует отсутствие data race (не важно, насколько это неудобно и медленно работает)
Какую, например? Чтобы предметно поговорить как там обеспечиваются и обеспечиваются-ли гарантии.