我做的多線程功課,有這樣的模板(它貼一部分,這是我應該改變):如何預定義<atomic>變量?
...
class MeanCounter : public MeanCounterBase {
public:
...
};
...
我需要使用<atomic>
在課堂上預定義了。
我做了什麼:
class MeanCounter : public MeanCounterBase {
public:
std::atomic<unsigned> W;
void MeanCounterBase() {
W.store(0);
}
private:
...
};
...
但它並沒有在所有的工作!程序編譯沒有錯誤。然而在開始的所有線程中W不等於0.我做錯了什麼?
,你能否告訴我們的線程代碼呢? – Sean
請用** [mcve]或[SSCCE(Short,Self Contained,Correct Example)](http://sscce.org)** **你的問題 – NathanOliver
預定義你的意思是什麼?你的意思是:「如何初始化一個原子變量」?無論如何,如果它沒有被初始化,那麼你可能忘了在所有線程中調用'MeanCounter :: MeanCounterBase()'函數? – user2079303