<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <meta content="text/html; charset=ISO-8859-1"
      http-equiv="Content-Type">
    <title></title>
  </head>
  <body bgcolor="#ffffff" text="#000000">
    On 18/12/2010 04:12, Insane Membrane wrote:
    <blockquote
      cite="mid:AANLkTim37DJ9VhW=c046xWT_PyTJkn=hvoDVDV71-pTL@mail.gmail.com"
      type="cite">There seems to be confusing descriptions on what
      volatiles are used for. &nbsp;I work in both .Net and Java, and for the
      most part the differences around this type of thing have been
      small. &nbsp;My understanding was .net had the same approach - a write
      is atomic but<br>
    </blockquote>
    I believe the memory model used in .NET is stronger than required by
    Java.<br>
    <br>
    <a class="moz-txt-link-freetext"
      href="http://msdn.microsoft.com/en-us/magazine/cc163715.aspx">http://msdn.microsoft.com/en-us/magazine/cc163715.aspx</a><br>
    <br>
    "Another memory model was needed, and the result is the .NET
    Framework 2.0 runtime memory model. The rules for this model are:
    <ol>
      <li>All the rules that are contained in the ECMA model, in
        particular the three fundamental memory model rules as well as
        the ECMA rules for volatile.</li>
      <li>Reads and writes cannot be introduced.</li>
      <li>A read can only be removed if it is adjacent to another read
        to the same location from the same thread. A write can only be
        removed if it is adjacent to another write to the same location
        from the same thread. Rule 5 can be used to make reads or writes
        adjacent before applying this rule.</li>
      <li>Writes cannot move past other writes from the same thread.</li>
      <li>Reads can only move earlier in time, but never past a write to
        the same memory location from the same thread."</li>
    </ol>
    Another reference:<br>
    <a class="moz-txt-link-freetext"
href="http://blogs.msdn.com/b/jaredpar/archive/2008/01/17/clr-memory-model.aspx">http://blogs.msdn.com/b/jaredpar/archive/2008/01/17/clr-memory-model.aspx</a><br>
    <br>
    Mark Thornton<br>
    <br>
    <br>
    <br>
  </body>
</html>