我正在嘗試實現一個int
計數器,該計數器總是遞增一個線程(Thread1)
並且總是遞減另一個(Thread2)
。線程安全計數器C++ 11
一個選項是使用std::atomic<int>
。
雖然我有另一個想法,我有兩個變量說counterIncr
和counterDecr
。 Thread1
總是遞增counterIncr
,而線程2總是遞減counterDecr
。
我將用(counterIncr+counterDecr)
的總和作爲我的最終結果。
這是否有任何性能優勢?這是免費的嗎?
讓線程使用不共享的資源通常會更好。但是你什麼時候可以拿到這筆錢呢?線程結束後? –
取決於計算最終結果的時間和位置 – Minato
Hi Anon,總和總是被'Thread1'使用 – ashwin929