在Web程式中,如果同時有多個request要去修改一個共用變數,通常會有資料混亂的問題,而在List或Dictionary中,.NET提供了ConcurrentDictionary這類可以確保Thread-Safety的類別,但如果今天是Int變數呢?我想宣告一個變數用來記錄影片觀看次數該怎麼做呢?

好在.NET有提供一個方式,寫法如下:

int count = 0;
Interlocked.Increment(ref count);

這樣的做法就可以省去lock語法,且確保資料不會混亂。

參考資料