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