【发布时间】:2014-05-29 11:39:24
【问题描述】:
我有这个与记忆障碍有关的问题。
在多线程应用程序中,如果数据在它们之间共享,则必须使用内存屏障,因为在一个内核上运行的线程中的写入可能不会被另一个内核上的另一个线程看到。
根据我从其他关于内存屏障的解释中读到的内容,据说如果您有一个处理某些数据的单线程,则不需要内存屏障。
这是我的问题:可能是某个线程修改了特定内核上的某些数据,然后在一段时间后调度程序决定将该线程迁移到另一个内核。
这个线程有没有可能在另一个内核上看不到它的修改?
【问题讨论】:
标签: multithreading multiprocessing