title: AtomicReference in Java - necessary for setting a reference in a thread-safe environment?
body: <p>In Java there exists an AtomicReference class.  Does this mean that setting a reference is NOT an atomic operation in and of itself?</p>
  
  <p>e.g., is this not thread-safe (assuming that the value returned cannot be modified)?:</p>
  
  <pre><code>public void someMethod()
  {
     this.someList = Collections.unmodifiableList(new LinkedList&lt;Object&gt;());
  }
  
  public List&lt;Object&gt; getReadOnlyList()
  {
     return someList;
  }
  </code></pre>
  
  <p>How about in C#?</p>