Доступ к глобальной переменной из разных потоков в сборке - PullRequest
0 голосов
/ 11 мая 2018

Исходя из моего понимания, если у меня есть глобальная переменная и два или более потоков, которые пытаются получить к ней доступ, и каждый поток работает на отдельном ядре ЦП, то каждое ядро ​​ЦП будет кэшировать копию глобальной переменной ивсякий раз, когда поток пытается получить доступ к глобальной переменной, это будет кэшированная копия, а не глобальная переменная в памяти.

Теперь скажите, что у меня есть два потока, созданные с помощью CreateThread () и каждый поток работает на отдельном ядре ЦП, и один поток устанавливает значение глобальной переменной, в то время как другой поток считывает ее значение.

Есть ли инструкция Assembly, которая заставляет кэшированную копию глобальной переменнойбыть сброшенным в память после установки его значения или инструкции по сборке, которая обновляет кэшированную копию другого ядра ЦП, на котором работает другой поток?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...