0
我有下面的類易失性和互斥用於幀間螺紋通信
class Thread
{
int m_state;
Mutex m;
CondVar v;
Thread(): m_state(0) {}
write()
{
// Get mutex m
// m_state = 1;
// signal v
};
read()
{
// Get mutex m
while(m_state == 0)
{
wait v;
};
};
};
read()和寫()可以在單獨的線程中調用。
在這種情況下,我們是否必須使m_state或volatile或編譯器確保優化(例如從存儲器讀取m_state以註冊和旋轉寄存器)被阻止?
這對於優化是安全的。 – nwp
這不是'volatile'的意思。 – Jarod42