如果有两个线程访问全局变量,那么许多教程都表示,使变量易失性,以防止编译器将变量缓存在寄存器中,从而无法正确更新变量。但是,两个线程都访问共享变量是需要通过互斥保护的,不是吗?但是在这种情况下,在线程锁定和释放互斥锁之间,代码处于一个关键部分,其中只有一个线程可以访问变量,在这种情况下,变量不需要是易失性的?
那么,在多线程程序中易失性的用途/用途是什么呢?
何时使用易失性与多线程?
慕森王
慕妹3146593
相关分类