У меня есть два потока, разделяющих переменную, но ни одна из них не записывает эту переменную. Я понимаю, что когда два потока динамически читают или записывают переменную, вам нужен мьютекс. Однако, поскольку я только читаю общую переменную из обоих потоков, мне все еще нужно использовать мьютекс?
PS Mine - это C++ программа, и я использую std :: mutex.
Если переменная гарантирована, что ее нельзя изменить, то чтение не нуждается в мьютексе.
Но если:
Затем вам нужно синхронизировать.
Пока они читают только переменную, а переменная может быть записана/прочитана с помощью одной операции хранения/чтения, тогда вы этого не сделаете.
mutable
членов, которые изменяются внутри объекта как часть чтения.