Ask Learn
Preview
Please sign in to use this experience.
Sign inThis browser is no longer supported.
Upgrade to Microsoft Edge to take advantage of the latest features, security updates, and technical support.
Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
Internally and externally I see a lot of questions about the .Net Memory Model. I think a lot of the confusion comes from the specs. Mainly that there are really two of them.
The first is the ECMA CLI Memory Model (Partition 1, Section 12). This standard introduces a relaxed memory model which, IMHO, makes multi-threading program a bit difficult. For instance it allows for write reordering which can be quite confusing to programmers (and result in very hard to track bugs).
The CLR 2.0 Memory Model is a stricter version of the EMCA model. There are two excellent sources of information on the more strict version.
For anyone doing multi-threaded programming in .Net, both of these articles are a must read.
Anonymous
January 17, 2008
PingBack from http://msdnrss.thecoderblogs.com/2008/01/17/clr-memory-model-3/
Anonymous
January 09, 2009
A recent paper by Microsoft research has discovered a concurrency bug in the .Net JIT. They used the
Please sign in to use this experience.
Sign in