我已經閱讀了很多關於緩存和線程同步的SO和其他站點,但我仍然無法得到我的問題的答案。 .NET Thread Safety for Static Dictionary Cache How does lock work exactly? Why are locks performed on separate objects? http://msdn.microsoft.com/en-us/magaz
我正在用C編寫一個程序。爲了簡單起見說:有很多變量,許多線程都可以讀取和寫入。每次寫入它們時,都會通過原子交換(GCC原子操作,同步和交換)進行寫入。每次讀取其中一個變量時,是否需要使用原子加載?還是原子寫入足以避免在數據寫入過程中讀取數據? 注意,任何地方,需要從這些瓦爾第一張價值的一個使用數據: int success = 0;
while (!success) {
int x =
考慮下面的線程函數: UINT MyClass::threadFunc(LPVOID lParam)
{
// 1. Initialize stuff
// 2. Validate stuff
// 3. Do first task
// 4. Do second task
// 5. Un-initialize everything and r