170 похожих чатов

Правильно ли я понял про классификатор volatile? что он просто

говорит компилятору что данную переменную не надо оптимизировать, то есть если дальше данная переменная ни где не изменяется, то читать ее надо каждый раз (если не стоит volatile то компилятор считывает из памяти переменную один раз). И данный классификатор безопасно использовать только в случае если присвоение в переменную проходит в один такт процессора, то есть ее можно применять безопасно в многопоточности только с типом char?

1 ответов

6 просмотров

это распространенная ошибка по поводу "не надо оптимизировать" на самом деле он говорит не оптимизировать ЧТЕНИЕ и делать его явно каждый раз. например в кеше переменая есть, но вне кеша ее поменяли или в цикле компилятор видит, что она не меняется и выкидывает операцию чтения. как пример оптимизации при использовании volatile volatile char a =3; char b =4; cout « b; тут переменная a будет выкинута, это пример оптимизации, даже не смотря на то что был volatile

Похожие вопросы

Обсуждают сегодня

Какой-то там пердун в 90-х решил, что есть какая-то разная типизация. Кого вообще это волнует?
КТ315
49
void terminal_scroll() { memmove(terminal_buffer, terminal_buffer + VGA_WIDTH, buffer_size - VGA_WIDTH); memset(terminal_buffer + buffer_size - VGA_WIDTH, 0, VGA_WIDTH); ...
Егор
47
Всем привет! Подскажите, пожалуйста, в чем ошибка? Настраиваю подключение к MySQL. Либы лежат рядом с exe. Все как по "учебнику"
Евгений
16
А можете как-то проверить меня по знаниям по ассемблеру?
A A
132
Здравствуйте! У меня появилась возможность купить книгу "Изучай Haskell во имя добра!". Но я где-то слышал, что эта книга устарела. Насколько это правда??
E
22
Здравствуйте! Я вот на stepic решаю задачи на хаскеле https://stepik.org/lesson/8443/step/8?unit=1578 мой код import Data.List (isInfixOf) removing :: String -> [String] ->...
E
10
Камрады, кто тесно работал с vtv, хотел уточнить. Ширина column задаётся жёстко на этапе создания дерева или можно в рантайме ее менять программно (не мышкой)?
Ed Doc
10
да ладно ... что там неочевидного ? глянуть в исх-ки датасета и/или кверика чтобы понять в каком месте и как выполняется обращения к св-вам blablaSQL - минутное дело, даже е...
Сергей
7
Здесь для arm кто-нибудь кодит ?
Nothing
52
Всем привет, у меня есть сервер принимающий входящие HTTP подключения, как проверить, что подключение было через прокси или нет, есть какие то поля в заголовках по которым мо...
Кибер Бомж
8
Карта сайта