Quantcast
Channel: Accessing object members and atomicity - Stack Overflow
Viewing all articles
Browse latest Browse all 3

Accessing object members and atomicity

$
0
0
  • We know from the C# specification that reference read/writes are atomic. In a statement that accesses member of an object, will the reference also be accessed atomically? I think yes because it is also a kind of implicit reference read which the compiler must provide atomicity for while generating code for it.

  • In the same statement, accessing the object to access its member will this cause the objects reference held so it is not garbage collected when a new instance is created by another thread?

  • So, if we access members in a chain, will the leftmost objects reference is also be held so it is not garbage collected by other threads?

Consider the following code;

static SomeClass sharedVar;void someMethod(){    SomeClass someLocalVar = sharedVar.memberX.memberY.a;    operations on someLocalVar...}

I am looking for official explanation about the subject, from MSDN library, C# specs, etc. or Microsoft people to make sure that I am not breaking something and everything is fine.


Viewing all articles
Browse latest Browse all 3

Latest Images

Trending Articles





Latest Images