title: .NET CLR - Object Reference Synchronization
body: <p>In a multhreaded .NET application, </p>
  
  <p>Assume first thread is writing into a List
  Second thread is clearing all the items in.
  And third thread is reading from the list.</p>
  
  <p>What happens if second and third threads access the same list object at "really" same time on CLR level. I am not meaning .NET synchronization objects and lock mechanism. </p>
  
  <p>I mean, when CLR accesses to the list items from reference (by 3rd thread)), what happens if the list that is pointed by reference change (by 2nd thread)?</p>