请问当定义多核共享的变量的时候 是否要定义成Volatile变量
多核共享的Volatile变量 是否仍然要求程序员维护cache的一致性?
This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
请问当定义多核共享的变量的时候 是否要定义成Volatile变量
多核共享的Volatile变量 是否仍然要求程序员维护cache的一致性?
Hi Andy!
我指的就是多核同步标志位变量 应该放在共享内存中
你说的noncache是指的哪级哪段内存呢? 怎样指定到noncache or cache
谢谢!
Thanks。如果不设置noncache,只要维护一致性也可以吧。
Andy Yin你好,我也遇到多核同步问题,具体描述:每个核完成类似的任务,但是核之间无数据交流,唯一需要通信的是一个核间同步标志如:flag(长度为3,分别控制3个核).我是这样做的:在核0中对变量初始化,并完成一定的任务,同时对flag赋初值。然后核1,2,3根据flag的值判断是否在相应的核里面执行自己的任务。我将flag所在存储空间定义为noncacheable,且将flag声明为volatile变量。但是核1,2,3就是不能正确的完成任务,请指点一下,不胜感激