<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://msmvps.com/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>Multithreading: the volatile keyword – part II</title><link>http://msmvps.com/blogs/luisabreu/archive/2009/07/06/multithreading-the-volatile-keyword-part-ii.aspx</link><description>In the last post , I’ve showed you some code I’ve written in&amp;#160; the past and asked if there was anything wrong with it. Here’s the code again: class Lazy { private SomeObject _object; private Object _locker = new Object (); public SomeObject SomeObject</description><dc:language>en</dc:language><generator>CommunityServer 2008.5 SP2 (Build: 40407.4157)</generator><item><title>Multithreading: using VolatileXXX instead of the volatile keyword</title><link>http://msmvps.com/blogs/luisabreu/archive/2009/07/06/multithreading-the-volatile-keyword-part-ii.aspx#1698488</link><pubDate>Mon, 06 Jul 2009 21:20:54 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1698488</guid><dc:creator>ASPInsiders</dc:creator><description>&lt;p&gt;In the previous post we’ve seen how we can use the C# volatile keyword to guarantee that those nasty&lt;/p&gt;
&lt;img src="http://msmvps.com/aggbug.aspx?PostID=1698488" width="1" height="1"&gt;</description></item><item><title>Multithreading: using VolatileXXX instead of the volatile keyword</title><link>http://msmvps.com/blogs/luisabreu/archive/2009/07/06/multithreading-the-volatile-keyword-part-ii.aspx#1698478</link><pubDate>Mon, 06 Jul 2009 20:25:35 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1698478</guid><dc:creator>LA.NET [EN]</dc:creator><description>&lt;p&gt;In the previous post we’ve seen how we can use the C# volatile keyword to guarantee that those nasty&lt;/p&gt;
&lt;img src="http://msmvps.com/aggbug.aspx?PostID=1698478" width="1" height="1"&gt;</description></item><item><title>re: Multithreading: the volatile keyword – part II</title><link>http://msmvps.com/blogs/luisabreu/archive/2009/07/06/multithreading-the-volatile-keyword-part-ii.aspx#1698455</link><pubDate>Mon, 06 Jul 2009 18:23:29 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1698455</guid><dc:creator>Luis Abreu</dc:creator><description>&lt;p&gt;Yes, they do, but don&amp;#39;t forget that load-load are allowed here (ex.: fields of the object loaded before the instance) and some processors do use it. Applying the volatile word to that instance doesn&amp;#39;t let that happen. You don&amp;#39;t need to apply it to the instance type fields though. Joe Duffy has a nice post on it here &lt;a rel="nofollow" target="_new" href="http://www.bluebytesoftware.com/blog/PermaLink,guid,543d89ad-8d57-4a51-b7c9-a821e3992bf6.aspx"&gt;www.bluebytesoftware.com/.../PermaLink,guid,543d89ad-8d57-4a51-b7c9-a821e3992bf6.aspx&lt;/a&gt;&lt;/p&gt;
&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=1698455" width="1" height="1"&gt;</description></item><item><title>re: Multithreading: the volatile keyword – part II</title><link>http://msmvps.com/blogs/luisabreu/archive/2009/07/06/multithreading-the-volatile-keyword-part-ii.aspx#1698450</link><pubDate>Mon, 06 Jul 2009 17:47:41 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1698450</guid><dc:creator>Timothy Fries</dc:creator><description>&lt;p&gt;I thought Monitor.Enter and Monitor.Exit provided memory fences implicitly. &amp;nbsp;Is that not the case?&lt;/p&gt;
&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=1698450" width="1" height="1"&gt;</description></item></channel></rss>