У меня есть класс блокировки мульти-чтения и записи, который хранит счетчики чтения, записи и ожидающего чтения, ожидающей записи. Мьютекс защищает их от нескольких потоков.
Мой вопрос: нужно ли нам по-прежнему объявлять счетчики как изменчивые, чтобы компилятор не испортил их при оптимизации.
Или компилятор учитывает, что счетчики охраняются мьютексом.
Я понимаю, что мьютекс — это механизм времени выполнения для синхронизации, а ключевое слово «летучее» — это указание времени компиляции, которое компилятор должен поступать правильно при оптимизации. .
С уважением,
-Джей.
Подробнее здесь: https://stackoverflow.com/questions/161 ... e-key-word