题目是问题:当线程退出时,它的缓存内存是否刷新到主内存?
我想知道因为主线程创建一些线程的情况很常见,它们在数组的独立部分上做一些工作(彼此之间没有数据依赖性),主线程加入所有工作线程,然后做更多的计算使用工作线程计算产生的数组值。是否需要将数组声明为 volatile
以便主线程查看其副作用?
最佳答案
pthreads 规范要求pthread_join()
是"synchronizes memory with respect to other threads" 的函数之一。 ,所以在 pthreads 的情况下你没问题 - 在 pthread_join()
返回后,主线程将看到加入线程对共享内存所做的所有更新。
关于c - 线程的缓存在退出时是否刷新到主内存?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22241294/