我學習C#和我感到困惑與類實例的副本線程安全的,如下:C#線程安全
eg:
classA objA;
classA objB = objA;
objA.field1 = value2; //do I need lock around modification of field1?
//let say we pass the objB to another thread
objB.field1 = value1 //do I need a lock for objB because of the modification of field1?
我很困惑,因爲從C的背景來++中, C#中的類是引用類型。如果objA和objB都指向相同的內存底層,那麼我需要一個鎖來保護同時寫入field1。有人可以證實這一點,或者我錯過了什麼嗎?
謝謝。
原子性和線程安全通常是兩個不同的問題。但我不是一個C#大師... – Guillaume 2011-01-10 09:47:37