Будет ли в C++ оптимизирована копия данных, защищенных мьютексом? ⇐ C++
-
Гость
Будет ли в C++ оптимизирована копия данных, защищенных мьютексом?
Будет ли в C++ оптимизирована копия данных, защищенных мьютексом?
Я хотел бы сделать снимок защищенных данных и прочитать их вне мьютекса. Будет ли эта копия оптимизирована, и мне придется либо читать исходные защищенные данные внутри мьютекса (плохо для производительности), либо, что еще хуже, читать исходные защищенные данные вне мьютекса (небезопасно)?
Меня больше всего интересует использование встроенных мьютексов C++.
Тема 1
пока (1) { мой_мьютекс.блокировка(); data = ... /* Изменения данных. */ my_mutex.unlock(); ... /* Несвязанные вещи. */ } Тема 2
пока (1) { мой_мьютекс.блокировка(); снимок = данные; /* Сделать снимок защищенных данных. */ my_mutex.unlock(); ... /* Чтение различных вещей в снимке. */ }
Будет ли в C++ оптимизирована копия данных, защищенных мьютексом?
Я хотел бы сделать снимок защищенных данных и прочитать их вне мьютекса. Будет ли эта копия оптимизирована, и мне придется либо читать исходные защищенные данные внутри мьютекса (плохо для производительности), либо, что еще хуже, читать исходные защищенные данные вне мьютекса (небезопасно)?
Меня больше всего интересует использование встроенных мьютексов C++.
Тема 1
пока (1) { мой_мьютекс.блокировка(); data = ... /* Изменения данных. */ my_mutex.unlock(); ... /* Несвязанные вещи. */ } Тема 2
пока (1) { мой_мьютекс.блокировка(); снимок = данные; /* Сделать снимок защищенных данных. */ my_mutex.unlock(); ... /* Чтение различных вещей в снимке. */ }
Мобильная версия