从Assembly中的不同线程访问全局变量

时间:2018-05-11 17:22:59

标签: multithreading winapi assembly x86

根据我的理解,如果我有一个全局变量和两个或多个尝试访问它的线程,并且每个线程在不同的CPU核心上运行,那么每个CPU核心将缓存全局变量的副本,每当线程试图访问全局变量时,它就是要访问的缓存副本,而不是内存中的全局变量。

现在说我有两个使用CreateThread()创建的线程,每个线程在不同的CPU内核上运行,一个线程设置一个全局变量的值,而另一个线程读取它的值。

是否有一个汇编指令强制将全局变量的缓存副本在设置其值后刷新到内存,或者是一个汇编指令更新另一个运行另一个线程的CPU核心的缓存副本? / p>

0 个答案:

没有答案