LINUX.ORG.RU

История изменений

Исправление red75prim, (текущая версия) :

Но с таким же успехом я могу взять либу под кресты, которая гарантирует отсутствие data race (не важно, насколько это неудобно и медленно работает)

Какую, например? Чтобы предметно поговорить как там обеспечиваются и обеспечиваются-ли гарантии. Если таких нет, хорошо бы услышать про теоретический способ обеспечения гарантий. Понятно, что такая библиотека не может отдавать ссылки/указатели на защищаемые данные (их можно передать в другой поток). Как это реализовать?

Единственное, что я вижу - сделать обёртки, которые хранят и проверяют thread id при каждом доступе к данным.

Ну и назвать использование тормозной и неудобной библиотеки «с таким-же успехом» - это таки очень альтернативное понимание программирования.

Исправление red75prim, :

которая гарантирует отсутствие data race (не важно, насколько это неудобно и медленно работает)

Какую, например? Чтобы предметно поговорить как там обеспечиваются и обеспечиваются-ли гарантии. Если таких нет, хорошо бы услышать про теоретический способ обеспечения гарантий. Понятно, что такая бибилотека не может отдавать ссылки/указатели на защищаемые данные (их можно передать в другой поток). Как это реализовать?

Исправление red75prim, :

которая гарантирует отсутствие data race (не важно, насколько это неудобно и медленно работает)

Какую, например? Чтобы предметно поговорить как там обеспечиваются и обеспечиваются-ли гарантии. Если таких нет, хорошо бы услышать про теоретический способ обеспечения гарантий. Понятно, что такая бибилотека не может отдавать ссылки/указатели на защищаемые данные (их можно передать в другой поток). Как это реализовать.

Исходная версия red75prim, :

которая гарантирует отсутствие data race (не важно, насколько это неудобно и медленно работает)

Какую, например? Чтобы предметно поговорить как там обеспечиваются и обеспечиваются-ли гарантии.