<?xml version="1.0" encoding="utf-8"?><?xml-stylesheet type='text/xsl' href='http://laflour.spaces.live.com/mmm2008-07-24_12.50/rsspretty.aspx?rssquery=en-US;http%3a%2f%2flaflour.spaces.live.com%2fcategory%2fSystem%2ffeed.rss' version='1.0'?><rss version="2.0" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:msn="http://schemas.microsoft.com/msn/spaces/2005/rss" xmlns:live="http://schemas.microsoft.com/live/spaces/2006/rss" xmlns:dcterms="http://purl.org/dc/terms/" xmlns:cf="http://www.microsoft.com/schemas/rss/core/2005" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>Michael's Coding Den: System</title><description /><link>http://laflour.spaces.live.com/?_c11_BlogPart_BlogPart=blogview&amp;_c=BlogPart&amp;partqs=catSystem</link><language>en-US</language><pubDate>Wed, 08 Oct 2008 03:53:23 GMT</pubDate><lastBuildDate>Wed, 08 Oct 2008 03:53:23 GMT</lastBuildDate><generator>Microsoft Spaces v1.1</generator><docs>http://www.rssboard.org/rss-specification</docs><ttl>60</ttl><cf:parentRSS>http://laflour.spaces.live.com/blog/feed.rss</cf:parentRSS><live:type>blogcategory</live:type><live:identity><live:id>8463920662804772276</live:id><live:alias>laflour</live:alias></live:identity><cf:listinfo><cf:group ns="http://schemas.microsoft.com/live/spaces/2006/rss" element="typelabel" label="Type" /><cf:group ns="http://schemas.microsoft.com/live/spaces/2006/rss" element="tag" label="Tag" /><cf:group element="category" label="Category" /><cf:sort element="pubDate" label="Date" data-type="date" default="true" /><cf:sort element="title" label="Title" data-type="string" /><cf:sort ns="http://purl.org/rss/1.0/modules/slash/" element="comments" label="Comments" data-type="number" /></cf:listinfo><item><title>Managed wrapper for GC API</title><link>http://laflour.spaces.live.com/Blog/cns!7575E2FFC19135B4!686.entry</link><description>&lt;p&gt;We are all using the &lt;font face=cour&gt;gacutil.exe&lt;/font&gt; to add/remove assembly to/from GAC, but in some cases gacutil can be inaccessible during installing process. &lt;p&gt;To manage this situation Microsoft provides &lt;a title="undocumented GAC API" href="http://support.microsoft.com/default.aspx?scid=kb;en-us;317540" target="_blank"&gt;undocumented GAC API&lt;/a&gt;. Unfortunately you need to use C++ for this.  &lt;p&gt;But thanks to the Rory Becker it's not the issue anymore. He provides the &lt;a title="managed wrapper for the GAC API" href="http://blogs.msdn.com/junfeng/articles/229649.aspx" target="_blank"&gt;managed wrapper for the GAC API&lt;/a&gt;.&lt;img src="http://c.services.spaces.live.com/CollectionWebService/c.gif?cid=8463920662804772276&amp;page=RSS%3a+Managed+wrapper+for+GC+API&amp;referrer=" width="1px" height="1px" border="0" alt=""&gt;&lt;img style="position:absolute" alt="" width="0px" height="0px" src="http://c.live.com/c.gif?NC=31263&amp;amp;NA=1149&amp;amp;PI=73329&amp;amp;RF=&amp;amp;DI=3919&amp;amp;PS=85545&amp;amp;TP=laflour.spaces.live.com&amp;amp;GT1=laflour"&gt;</description><comments>http://laflour.spaces.live.com/Blog/cns!7575E2FFC19135B4!686.entry#comment</comments><guid isPermaLink="true">http://laflour.spaces.live.com/Blog/cns!7575E2FFC19135B4!686.entry</guid><pubDate>Thu, 19 Apr 2007 18:43:10 GMT</pubDate><slash:comments>0</slash:comments><msn:type>blogentry</msn:type><live:type>blogentry</live:type><live:typelabel>Blog entry</live:typelabel><wfw:commentRss>http://laflour.spaces.live.com/blog/cns!7575E2FFC19135B4!686/comments/feed.rss</wfw:commentRss><wfw:comment>http://laflour.spaces.live.com/Blog/cns!7575E2FFC19135B4!686.entry#comment</wfw:comment><dcterms:modified>2007-04-19T18:43:10Z</dcterms:modified></item><item><title>Fibers and CLR</title><link>http://laflour.spaces.live.com/Blog/cns!7575E2FFC19135B4!631.entry</link><description>&lt;p&gt;Recently I gave the note to &lt;a title="Joe Duffy blog" href="http://www.bluebytesoftware.com/"&gt;&lt;u&gt;Joe Duffy&lt;/u&gt;&lt;/a&gt; (CLR PM) that it would be really cool to know something new about Fibers in his new book about .NET Multithreading. To my pleasure Joe published a post in his blog about fibers in CLR. &lt;p&gt;The fibers are really cool thing in the unmanaged world - they are lightweighted and have the non-preemptive trait (manually scheduled). It allows to switch context fast and handle the fibers (switch, delete) on your own without diving inside of the synchronization (fiber's context can be deleted gracefully). &lt;p&gt;Unfortunately, CLR team had no time to realize fiber support in .NET. Albeit some attempts were undertaken - the idea is that managed threads and OS threads are not directly intertwined and call redirecting is possible with control of TaskManager host. But there are enough problems with fiber's handling such as: switching, affinity, debugging and etc. &lt;p&gt;More details are in the Joe's &lt;a title="Fibers and the CLR" href="http://www.bluebytesoftware.com/blog/PermaLink,guid,2d0038b5-7ba5-421f-860b-d9282a1211d3.aspx"&gt;&lt;u&gt;post&lt;/u&gt;&lt;/a&gt;. &lt;p&gt;Resources: &lt;a title="Fibers. PSDK" href="http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dllproc/base/fibers.asp"&gt;&lt;u&gt;1&lt;/u&gt;&lt;/a&gt;, &lt;a title="Implementing Coroutines for .NET by Wrapping the Unmanaged Fiber API" href="http://msdn.microsoft.com/msdnmag/issues/03/09/CoroutinesinNET/default.aspx"&gt;&lt;u&gt;2&lt;/u&gt;&lt;/a&gt;, &lt;a title="Threads, fibers, stacks and address space" href="http://blogs.msdn.com/cbrumme/archive/2003/04/15/51351.aspx"&gt;&lt;u&gt;3&lt;/u&gt;&lt;/a&gt;, &lt;a title=Hosting href="http://blogs.msdn.com/cbrumme/archive/2004/02/21/77595.aspx"&gt;&lt;u&gt;4&lt;/u&gt;&lt;/a&gt;, &lt;a title="Managed Debugging doesn’t support Fibers" href="http://blogs.msdn.com/jmstall/archive/2005/03/01/382474.aspx"&gt;&lt;u&gt;5&lt;/u&gt;&lt;/a&gt;&lt;img src="http://c.services.spaces.live.com/CollectionWebService/c.gif?cid=8463920662804772276&amp;page=RSS%3a+Fibers+and+CLR&amp;referrer=" width="1px" height="1px" border="0" alt=""&gt;&lt;img style="position:absolute" alt="" width="0px" height="0px" src="http://c.live.com/c.gif?NC=31263&amp;amp;NA=1149&amp;amp;PI=73329&amp;amp;RF=&amp;amp;DI=3919&amp;amp;PS=85545&amp;amp;TP=laflour.spaces.live.com&amp;amp;GT1=laflour"&gt;</description><comments>http://laflour.spaces.live.com/Blog/cns!7575E2FFC19135B4!631.entry#comment</comments><guid isPermaLink="true">http://laflour.spaces.live.com/Blog/cns!7575E2FFC19135B4!631.entry</guid><pubDate>Sun, 12 Nov 2006 22:21:24 GMT</pubDate><slash:comments>0</slash:comments><msn:type>blogentry</msn:type><live:type>blogentry</live:type><live:typelabel>Blog entry</live:typelabel><wfw:commentRss>http://laflour.spaces.live.com/blog/cns!7575E2FFC19135B4!631/comments/feed.rss</wfw:commentRss><wfw:comment>http://laflour.spaces.live.com/Blog/cns!7575E2FFC19135B4!631.entry#comment</wfw:comment><dcterms:modified>2006-11-12T22:25:14Z</dcterms:modified></item><item><title>Events and multithreading</title><link>http://laflour.spaces.live.com/Blog/cns!7575E2FFC19135B4!531.entry</link><description>&lt;div&gt;Rather interesting &lt;a href="http://groups.google.com/group/microsoft.public.dotnet.languages.csharp/browse_frm/thread/3a0c55a45e964f6c/dcc52b9437f75165"&gt;&lt;u&gt;discussion&lt;/u&gt;&lt;/a&gt; on the microsoft.public.dotnet.languages.csharp group about events and multithreading.&lt;/div&gt;
&lt;div&gt;Resume: thread-safe event is not an easy issue&lt;/div&gt;
&lt;div&gt; &lt;/div&gt;&lt;img src="http://c.services.spaces.live.com/CollectionWebService/c.gif?cid=8463920662804772276&amp;page=RSS%3a+Events+and+multithreading&amp;referrer=" width="1px" height="1px" border="0" alt=""&gt;&lt;img style="position:absolute" alt="" width="0px" height="0px" src="http://c.live.com/c.gif?NC=31263&amp;amp;NA=1149&amp;amp;PI=73329&amp;amp;RF=&amp;amp;DI=3919&amp;amp;PS=85545&amp;amp;TP=laflour.spaces.live.com&amp;amp;GT1=laflour"&gt;</description><comments>http://laflour.spaces.live.com/Blog/cns!7575E2FFC19135B4!531.entry#comment</comments><guid isPermaLink="true">http://laflour.spaces.live.com/Blog/cns!7575E2FFC19135B4!531.entry</guid><pubDate>Sat, 15 Jul 2006 13:53:48 GMT</pubDate><slash:comments>0</slash:comments><msn:type>blogentry</msn:type><live:type>blogentry</live:type><live:typelabel>Blog entry</live:typelabel><wfw:commentRss>http://laflour.spaces.live.com/blog/cns!7575E2FFC19135B4!531/comments/feed.rss</wfw:commentRss><wfw:comment>http://laflour.spaces.live.com/Blog/cns!7575E2FFC19135B4!531.entry#comment</wfw:comment><dcterms:modified>2006-07-15T19:57:40Z</dcterms:modified></item><item><title>Major features of .NET 2.0</title><link>http://laflour.spaces.live.com/Blog/cns!7575E2FFC19135B4!524.entry</link><description>&lt;div&gt;
&lt;div&gt;Patrick published the list of major features of .NET 2.0&lt;/div&gt;
&lt;div&gt;Source: &lt;a href="http://www.codeproject.com/books/net2_cs2_newfeatures.asp"&gt;&lt;u&gt;http://www.codeproject.com/books/net2_cs2_newfeatures.asp&lt;/u&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div&gt; &lt;/div&gt;&lt;/div&gt;&lt;img src="http://c.services.spaces.live.com/CollectionWebService/c.gif?cid=8463920662804772276&amp;page=RSS%3a+Major+features+of+.NET+2.0&amp;referrer=" width="1px" height="1px" border="0" alt=""&gt;&lt;img style="position:absolute" alt="" width="0px" height="0px" src="http://c.live.com/c.gif?NC=31263&amp;amp;NA=1149&amp;amp;PI=73329&amp;amp;RF=&amp;amp;DI=3919&amp;amp;PS=85545&amp;amp;TP=laflour.spaces.live.com&amp;amp;GT1=laflour"&gt;</description><comments>http://laflour.spaces.live.com/Blog/cns!7575E2FFC19135B4!524.entry#comment</comments><guid isPermaLink="true">http://laflour.spaces.live.com/Blog/cns!7575E2FFC19135B4!524.entry</guid><pubDate>Sun, 02 Jul 2006 09:55:32 GMT</pubDate><slash:comments>2</slash:comments><msn:type>blogentry</msn:type><live:type>blogentry</live:type><live:typelabel>Blog entry</live:typelabel><wfw:commentRss>http://laflour.spaces.live.com/blog/cns!7575E2FFC19135B4!524/comments/feed.rss</wfw:commentRss><wfw:comment>http://laflour.spaces.live.com/Blog/cns!7575E2FFC19135B4!524.entry#comment</wfw:comment><dcterms:modified>2006-07-02T09:55:32Z</dcterms:modified></item><item><title>Extending the base class library collection classes of .NET 2.0</title><link>http://laflour.spaces.live.com/Blog/cns!7575E2FFC19135B4!317.entry</link><description>&lt;p&gt;Peter Golde (formerly a Lead Designer for the C# language) incorporates the ideas from communities, relates to extending .NET 2.0 collections classes, into freely available library &amp;quot;&lt;a href="http://www.wintellect.com/powercollections/"&gt;&lt;u&gt;Power Collections&lt;/u&gt;&lt;/a&gt;&amp;quot;.&lt;br&gt;&lt;br&gt;The list of collections includes: Dictionary, MultiDictionary, Set, Bag, OrderedDictionary, OrderedMultiDictionary, OrderedSet, OrderedBag. These classes were overwritten with extended functionality.
&lt;p&gt;&lt;br&gt;Specification about these collections is here: &lt;a href="http://www.wintellect.com/powercollections/spec.aspx"&gt;&lt;u&gt;http://www.wintellect.com/powercollections/spec.aspx&lt;/u&gt;&lt;/a&gt;&lt;br&gt;&lt;br&gt;&lt;img src="http://c.services.spaces.live.com/CollectionWebService/c.gif?cid=8463920662804772276&amp;page=RSS%3a+Extending+the+base+class+library+collection+classes+of+.NET+2.0&amp;referrer=" width="1px" height="1px" border="0" alt=""&gt;&lt;img style="position:absolute" alt="" width="0px" height="0px" src="http://c.live.com/c.gif?NC=31263&amp;amp;NA=1149&amp;amp;PI=73329&amp;amp;RF=&amp;amp;DI=3919&amp;amp;PS=85545&amp;amp;TP=laflour.spaces.live.com&amp;amp;GT1=laflour"&gt;</description><comments>http://laflour.spaces.live.com/Blog/cns!7575E2FFC19135B4!317.entry#comment</comments><guid isPermaLink="true">http://laflour.spaces.live.com/Blog/cns!7575E2FFC19135B4!317.entry</guid><pubDate>Sat, 18 Feb 2006 13:46:08 GMT</pubDate><slash:comments>2</slash:comments><msn:type>blogentry</msn:type><live:type>blogentry</live:type><live:typelabel>Blog entry</live:typelabel><wfw:commentRss>http://laflour.spaces.live.com/blog/cns!7575E2FFC19135B4!317/comments/feed.rss</wfw:commentRss><wfw:comment>http://laflour.spaces.live.com/Blog/cns!7575E2FFC19135B4!317.entry#comment</wfw:comment><dcterms:modified>2006-02-18T16:07:17Z</dcterms:modified></item><item><title>In-process asynchronous services</title><link>http://laflour.spaces.live.com/Blog/cns!7575E2FFC19135B4!314.entry</link><description>&lt;div&gt;Today world is changing to use async more and more. Gerald Gibson shows his representation of InProc async service.&lt;/div&gt;
&lt;div&gt; &lt;/div&gt;
&lt;div&gt; &lt;/div&gt;
&lt;div&gt;&lt;img src="http://www.codeproject.com/csharp/inprocessasynservicesincs/InprocessAsynServicesInCS.png"&gt;&lt;/div&gt;
&lt;div&gt; &lt;/div&gt;
&lt;div&gt;Detailed description is here: &lt;a href="http://www.codeproject.com/csharp/inprocessasynservicesincs.asp"&gt;&lt;u&gt;http://www.codeproject.com/csharp/inprocessasynservicesincs.asp&lt;/u&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div&gt; &lt;/div&gt;
&lt;div&gt;&lt;/div&gt;&lt;img src="http://c.services.spaces.live.com/CollectionWebService/c.gif?cid=8463920662804772276&amp;page=RSS%3a+In-process+asynchronous+services&amp;referrer=" width="1px" height="1px" border="0" alt=""&gt;&lt;img style="position:absolute" alt="" width="0px" height="0px" src="http://c.live.com/c.gif?NC=31263&amp;amp;NA=1149&amp;amp;PI=73329&amp;amp;RF=&amp;amp;DI=3919&amp;amp;PS=85545&amp;amp;TP=laflour.spaces.live.com&amp;amp;GT1=laflour"&gt;</description><comments>http://laflour.spaces.live.com/Blog/cns!7575E2FFC19135B4!314.entry#comment</comments><guid isPermaLink="true">http://laflour.spaces.live.com/Blog/cns!7575E2FFC19135B4!314.entry</guid><pubDate>Wed, 15 Feb 2006 14:11:43 GMT</pubDate><slash:comments>0</slash:comments><msn:type>blogentry</msn:type><live:type>blogentry</live:type><live:typelabel>Blog entry</live:typelabel><wfw:commentRss>http://laflour.spaces.live.com/blog/cns!7575E2FFC19135B4!314/comments/feed.rss</wfw:commentRss><wfw:comment>http://laflour.spaces.live.com/Blog/cns!7575E2FFC19135B4!314.entry#comment</wfw:comment><dcterms:modified>2006-02-15T14:13:14Z</dcterms:modified></item><item><title>Changes in ADO.NET for .net 2.0</title><link>http://laflour.spaces.live.com/Blog/cns!7575E2FFC19135B4!254.entry</link><description>&lt;div&gt;As most of us working on the .NET 2.0 have seen a lot of pretty chagnes that were missed in first version. I'll try to review some of them related to ADO.NET.&lt;/div&gt;
&lt;div&gt; &lt;/div&gt;
&lt;ol&gt;
&lt;li&gt;Merging and XMLing of tables is really for tables ;) Now we can perform table merging and XMLing with DataTable, without wrapping them in DataSet
&lt;li&gt;DataSet can be binary serialized, that gives us good productivity. And finally, i reckon, it states WebServices above Remoting (I don't want now discuss this point, but in .net 1.x WS was slightly behind Remoting due to XML serialization. Now it's not a bottleneck). Bye-bye Remoting (it's only my point of view)
&lt;li&gt;Disconnected DataReader. Now we get totally disconnected DataReader - DataTableReader - for the most crucial parts of our data layer.&lt;/ol&gt;
&lt;p&gt;About all other changes and detailed description read the related topic of MSDN and John Papa new &lt;a href="http://msdn.microsoft.com/msdnmag/issues/05/11/DataPoints/default.aspx"&gt;&lt;u&gt;article&lt;/u&gt;&lt;/a&gt;.
&lt;p&gt; &lt;img src="http://c.services.spaces.live.com/CollectionWebService/c.gif?cid=8463920662804772276&amp;page=RSS%3a+Changes+in+ADO.NET+for+.net+2.0&amp;referrer=" width="1px" height="1px" border="0" alt=""&gt;&lt;img style="position:absolute" alt="" width="0px" height="0px" src="http://c.live.com/c.gif?NC=31263&amp;amp;NA=1149&amp;amp;PI=73329&amp;amp;RF=&amp;amp;DI=3919&amp;amp;PS=85545&amp;amp;TP=laflour.spaces.live.com&amp;amp;GT1=laflour"&gt;</description><comments>http://laflour.spaces.live.com/Blog/cns!7575E2FFC19135B4!254.entry#comment</comments><guid isPermaLink="true">http://laflour.spaces.live.com/Blog/cns!7575E2FFC19135B4!254.entry</guid><pubDate>Wed, 19 Oct 2005 13:38:00 GMT</pubDate><slash:comments>0</slash:comments><msn:type>blogentry</msn:type><live:type>blogentry</live:type><live:typelabel>Blog entry</live:typelabel><wfw:commentRss>http://laflour.spaces.live.com/blog/cns!7575E2FFC19135B4!254/comments/feed.rss</wfw:commentRss><wfw:comment>http://laflour.spaces.live.com/Blog/cns!7575E2FFC19135B4!254.entry#comment</wfw:comment><dcterms:modified>2005-10-19T13:38:00Z</dcterms:modified></item><item><title>Keep Your Code Running with the Reliability Features of the .NET Framework</title><link>http://laflour.spaces.live.com/Blog/cns!7575E2FFC19135B4!244.entry</link><description>&lt;p&gt;This &lt;a href="http://msdn.microsoft.com/msdnmag/issues/05/10/Reliability/default.aspx"&gt;&lt;u&gt;article&lt;/u&gt;&lt;/a&gt; shows how to make your code robust - to avoid OutOfMemoryException, StackOverflowException, and ThreadAbortExceptions by using Constrained Execution Regions.
&lt;p&gt; &lt;img src="http://c.services.spaces.live.com/CollectionWebService/c.gif?cid=8463920662804772276&amp;page=RSS%3a+Keep+Your+Code+Running+with+the+Reliability+Features+of+the+.NET+Framework&amp;referrer=" width="1px" height="1px" border="0" alt=""&gt;&lt;img style="position:absolute" alt="" width="0px" height="0px" src="http://c.live.com/c.gif?NC=31263&amp;amp;NA=1149&amp;amp;PI=73329&amp;amp;RF=&amp;amp;DI=3919&amp;amp;PS=85545&amp;amp;TP=laflour.spaces.live.com&amp;amp;GT1=laflour"&gt;</description><comments>http://laflour.spaces.live.com/Blog/cns!7575E2FFC19135B4!244.entry#comment</comments><guid isPermaLink="true">http://laflour.spaces.live.com/Blog/cns!7575E2FFC19135B4!244.entry</guid><pubDate>Fri, 23 Sep 2005 20:55:54 GMT</pubDate><slash:comments>0</slash:comments><msn:type>blogentry</msn:type><live:type>blogentry</live:type><live:typelabel>Blog entry</live:typelabel><wfw:commentRss>http://laflour.spaces.live.com/blog/cns!7575E2FFC19135B4!244/comments/feed.rss</wfw:commentRss><wfw:comment>http://laflour.spaces.live.com/Blog/cns!7575E2FFC19135B4!244.entry#comment</wfw:comment><dcterms:modified>2005-12-02T19:35:29Z</dcterms:modified></item><item><title>An Extensive Examination of Data Structures in .NET</title><link>http://laflour.spaces.live.com/Blog/cns!7575E2FFC19135B4!232.entry</link><description>&lt;div&gt;For &lt;a href="http://msdn.microsoft.com/vcsharp/default.aspx?pull=/library/en-us/dv_vstechart/html/datastructures_guide.asp"&gt;&lt;u&gt;FW 1.1 &lt;/u&gt;&lt;/a&gt; and &lt;a href="http://msdn.microsoft.com/vcsharp/default.aspx?pull=/library/en-us/dnvs05/html/datastructures20_1.asp"&gt;&lt;u&gt;FW 2.0&lt;/u&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div&gt; &lt;/div&gt;
&lt;div&gt; &lt;/div&gt;&lt;img src="http://c.services.spaces.live.com/CollectionWebService/c.gif?cid=8463920662804772276&amp;page=RSS%3a+An+Extensive+Examination+of+Data+Structures+in+.NET&amp;referrer=" width="1px" height="1px" border="0" alt=""&gt;&lt;img style="position:absolute" alt="" width="0px" height="0px" src="http://c.live.com/c.gif?NC=31263&amp;amp;NA=1149&amp;amp;PI=73329&amp;amp;RF=&amp;amp;DI=3919&amp;amp;PS=85545&amp;amp;TP=laflour.spaces.live.com&amp;amp;GT1=laflour"&gt;</description><comments>http://laflour.spaces.live.com/Blog/cns!7575E2FFC19135B4!232.entry#comment</comments><guid isPermaLink="true">http://laflour.spaces.live.com/Blog/cns!7575E2FFC19135B4!232.entry</guid><pubDate>Tue, 23 Aug 2005 13:15:19 GMT</pubDate><slash:comments>0</slash:comments><msn:type>blogentry</msn:type><live:type>blogentry</live:type><live:typelabel>Blog entry</live:typelabel><wfw:commentRss>http://laflour.spaces.live.com/blog/cns!7575E2FFC19135B4!232/comments/feed.rss</wfw:commentRss><wfw:comment>http://laflour.spaces.live.com/Blog/cns!7575E2FFC19135B4!232.entry#comment</wfw:comment><dcterms:modified>2005-10-19T12:41:14Z</dcterms:modified></item><item><title>.NET multithreading articles</title><link>http://laflour.spaces.live.com/Blog/cns!7575E2FFC19135B4!220.entry</link><description>&lt;div&gt;There I'd like to post a bunch of .NET multithreading articles:&lt;/div&gt;
&lt;div&gt; &lt;/div&gt;
&lt;div&gt;&lt;strong&gt;1) Concurrency programming: &lt;/strong&gt;&lt;a href="http://blogs.msdn.com/larryosterman/archive/2005/2/11.aspx"&gt;&lt;strong&gt;http://blogs.msdn.com/larryosterman/archive/2005/2/11.aspx&lt;/strong&gt;&lt;/a&gt;&lt;/div&gt;
&lt;blockquote dir=ltr&gt;
&lt;p&gt;&lt;font color="#808080"&gt;&lt;em&gt;&amp;quot;...processor has no way of accessing 64bit addresses atomically.  What that means is that when a 32bit processor writes a 64bit value, it does it in two memory operations. So, when I wrote my original comment, I was thinking about the memory write case - relying on the fact that on 32bit processors, a natively aligned 32bit memory read is guaranteed to be atomic (and for 64bit processors, a 64bit aligned memory read is similarly guaranteed to be atomic).  On currently supported 32bit processors, however a 64bit memory read is guaranteed to NOT be atomic...&amp;quot;&lt;/em&gt;&lt;/font&gt;&lt;/blockquote&gt;
&lt;div&gt;&lt;strong&gt;2) How to control your background tasks&lt;/strong&gt;&lt;/div&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="http://blogs.msdn.com/rickbrew/archive/2005/01/28/362876.aspx"&gt;http://blogs.msdn.com/rickbrew/archive/2005/01/28/362876.aspx&lt;/a&gt; 
&lt;li&gt;&lt;a href="http://blogs.msdn.com/rickbrew/archive/2005/02/08/369484.aspx"&gt;http://blogs.msdn.com/rickbrew/archive/2005/02/08/369484.aspx&lt;/a&gt;&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;3) Concurrency: What Every Dev Must Know About Multithreaded Apps&lt;/strong&gt;  
&lt;ul&gt;
&lt;li&gt;&lt;a href="http://msdn.microsoft.com/msdnmag/issues/05/08/Concurrency/default.aspx"&gt;http://msdn.microsoft.com/msdnmag/issues/05/08/Concurrency/default.aspx&lt;/a&gt;&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;4) How to stop a Thread&lt;/strong&gt; 
&lt;blockquote dir=ltr&gt;
&lt;p&gt;If we want to interrupt thread, using &lt;font face="Courier New, Courier, Monospace"&gt;Thread.Abort()&lt;/font&gt; is hazardous way doing this. The reason is that it raises an asynchronous exception we can't catch in proper place, even with &lt;font face="Courier New, Courier, Monospace"&gt;using&lt;/font&gt; statement. For example, let's our thread's code is in the middle of the finally block, for the current moment, and performs clearing resources. If in exactly that moment &lt;font face="Courier New, Courier, Monospace"&gt;ThreadAbortException&lt;/font&gt; is raised the remainder of the &lt;font face="Courier New, Courier, Monospace"&gt;finally &lt;/font&gt;block won't run to completion. 
&lt;p&gt;Detailed description is here: &lt;a href="http://www.interact-sw.co.uk/iangblog/2004/11/12/cancellation"&gt;http://www.interact-sw.co.uk/iangblog/2004/11/12/cancellation&lt;/a&gt; and extended samples is here &lt;a href="http://www.dotnetconsult.co.uk/weblog/PermaLink.aspx/4f52c396-1b0d-4419-8871-6ca6992460ca"&gt;http://www.dotnetconsult.co.uk/weblog/PermaLink.aspx/4f52c396-1b0d-4419-8871-6ca6992460ca&lt;/a&gt;&lt;/blockquote&gt;
&lt;p dir=ltr&gt;&lt;strong&gt;5) Fast Realization of .NET Read-Write Lock&lt;/strong&gt;&lt;br&gt;&lt;a href="http://blogs.msdn.com/vancem/archive/2006/03/28/563180.aspx"&gt;&lt;strong&gt;http://blogs.msdn.com/vancem/archive/2006/03/28/563180.aspx&lt;/strong&gt;&lt;/a&gt; 
&lt;blockquote dir=ltr&gt;
&lt;p dir=ltr&gt;There are several ways to do &lt;a href="http://msdn.microsoft.com/msdnmag/issues/05/10/MemoryModels/default.aspx"&gt;&lt;u&gt;effecient multithreaded syncronizations&lt;/u&gt;&lt;/a&gt; 
&lt;ol dir=ltr&gt;
&lt;li&gt;
&lt;div&gt;Avoid locks on reads &lt;/div&gt;
&lt;li&gt;
&lt;div&gt;&lt;a href="http://blogs.msdn.com/vancem/attachment/563180.ashx"&gt;&lt;u&gt;Spin Lock&lt;/u&gt;&lt;/a&gt; &lt;/div&gt;
&lt;li&gt;
&lt;div&gt;Raw Interlocked operations &lt;/div&gt;
&lt;li&gt;
&lt;div&gt;Lazyinit&lt;/div&gt;&lt;/ol&gt;
&lt;p&gt;And &lt;a href="http://blogs.msdn.com/vancem/attachment/563180.ashx"&gt;&lt;u&gt;Spin Lock&lt;/u&gt;&lt;/a&gt; is the best substitute for the slow Read-Write Lock.&lt;/blockquote&gt;
&lt;p dir=ltr&gt;&lt;strong&gt;6) Avoid and Detect Deadlocks&lt;/strong&gt;&lt;br&gt;&lt;a href="http://msdn.microsoft.com/msdnmag/issues/06/04/Deadlocks/default.aspx"&gt;&lt;strong&gt;http://msdn.microsoft.com/msdnmag/issues/06/04/Deadlocks/default.aspx&lt;/strong&gt;&lt;/a&gt; 
&lt;p dir=ltr&gt;&lt;strong&gt;7) Using concurrency for scalability&lt;br&gt;&lt;/strong&gt;&lt;a href="http://msdn.microsoft.com/msdnmag/issues/06/09/CLRInsideOut/"&gt;&lt;strong&gt;http://msdn.microsoft.com/msdnmag/issues/06/09/CLRInsideOut/&lt;/strong&gt;&lt;/a&gt; 
&lt;p dir=ltr&gt;&lt;strong&gt;8) Concurrency and the impact on reusable libraries&lt;br&gt;&lt;/strong&gt;&lt;a href="http://www.bluebytesoftware.com/blog/PermaLink,guid,f8404ab3-e3e6-4933-a5bc-b69348deedba.aspx"&gt;&lt;strong&gt;http://www.bluebytesoftware.com/blog/PermaLink,guid,f8404ab3-e3e6-4933-a5bc-b69348deedba.aspx&lt;/strong&gt;&lt;/a&gt;&lt;strong&gt; &lt;/strong&gt;
&lt;p dir=ltr&gt;&lt;strong&gt;9) Concurrency and Coordination Runtime &lt;br&gt;&lt;/strong&gt;The CCR is a CLR library that provides a consistent and scalable way to program asynchronous operations and coordinate among multiple responses.&lt;br&gt;&lt;a href="http://msdn.microsoft.com/msdnmag/issues/06/09/concurrentaffairs/default.aspx"&gt;&lt;strong&gt;http://msdn.microsoft.com/msdnmag/issues/06/09/concurrentaffairs/default.aspx&lt;/strong&gt;&lt;/a&gt;
&lt;p dir=ltr&gt; &lt;img src="http://c.services.spaces.live.com/CollectionWebService/c.gif?cid=8463920662804772276&amp;page=RSS%3a+.NET+multithreading+articles&amp;referrer=" width="1px" height="1px" border="0" alt=""&gt;&lt;img style="position:absolute" alt="" width="0px" height="0px" src="http://c.live.com/c.gif?NC=31263&amp;amp;NA=1149&amp;amp;PI=73329&amp;amp;RF=&amp;amp;DI=3919&amp;amp;PS=85545&amp;amp;TP=laflour.spaces.live.com&amp;amp;GT1=laflour"&gt;</description><comments>http://laflour.spaces.live.com/Blog/cns!7575E2FFC19135B4!220.entry#comment</comments><guid isPermaLink="true">http://laflour.spaces.live.com/Blog/cns!7575E2FFC19135B4!220.entry</guid><pubDate>Wed, 10 Aug 2005 08:09:45 GMT</pubDate><slash:comments>11</slash:comments><msn:type>blogentry</msn:type><live:type>blogentry</live:type><live:typelabel>Blog entry</live:typelabel><wfw:commentRss>http://laflour.spaces.live.com/blog/cns!7575E2FFC19135B4!220/comments/feed.rss</wfw:commentRss><wfw:comment>http://laflour.spaces.live.com/Blog/cns!7575E2FFC19135B4!220.entry#comment</wfw:comment><dcterms:modified>2007-02-15T21:11:08Z</dcterms:modified></item><item><title>Using AMD64 platform</title><link>http://laflour.spaces.live.com/Blog/cns!7575E2FFC19135B4!196.entry</link><description>&lt;p&gt;В процессе использования AMD64 и Windows XP 64bit опытным путем было выявлено, что данная Windows, а собственно и процессор еще пока слишком раны для домашних приложений. Вот с чем пришлось столкнуться и какое ПО не работает: 
&lt;ul&gt;
&lt;li&gt;Cisco VPN client (самое критичное, т.к. из дома работаю по вечерам)
&lt;li&gt;кряк на аську
&lt;li&gt;RealPlayer выводит сообщение, что не работает на 64bit системе
&lt;li&gt;Diamon Tools для создания Virtual CD &lt;/ul&gt;
&lt;p&gt;Из плюсов:
&lt;ul&gt;
&lt;li&gt;Винда быстрей грузится, заметно на глаз
&lt;li&gt;Есть 64bit драйвера на материнку на сайте производителе
&lt;li&gt;FarCry(!), патч для AMD64 намного улучшает графику, все становится видно намного далеко. Вот ссылка на скриншоты игры сделанные на 32х и 64х битных платформах &lt;a href="http://www.amd.com/us-en/Processors/DevelopWithAMD/0,,30_2252_869_875^10543,00.html?redir=IEGFC01"&gt;http://www.amd.com/us-en/Processors/DevelopWithAMD/0,,30_2252_869_875%5e10543,00.html?redir=IEGFC01&lt;/a&gt;&lt;/ul&gt;&lt;img src="http://c.services.spaces.live.com/CollectionWebService/c.gif?cid=8463920662804772276&amp;page=RSS%3a+Using+AMD64+platform&amp;referrer=" width="1px" height="1px" border="0" alt=""&gt;&lt;img style="position:absolute" alt="" width="0px" height="0px" src="http://c.live.com/c.gif?NC=31263&amp;amp;NA=1149&amp;amp;PI=73329&amp;amp;RF=&amp;amp;DI=3919&amp;amp;PS=85545&amp;amp;TP=laflour.spaces.live.com&amp;amp;GT1=laflour"&gt;</description><comments>http://laflour.spaces.live.com/Blog/cns!7575E2FFC19135B4!196.entry#comment</comments><guid isPermaLink="true">http://laflour.spaces.live.com/Blog/cns!7575E2FFC19135B4!196.entry</guid><pubDate>Sat, 25 Jun 2005 16:57:03 GMT</pubDate><slash:comments>0</slash:comments><msn:type>blogentry</msn:type><live:type>blogentry</live:type><live:typelabel>Blog entry</live:typelabel><wfw:commentRss>http://laflour.spaces.live.com/blog/cns!7575E2FFC19135B4!196/comments/feed.rss</wfw:commentRss><wfw:comment>http://laflour.spaces.live.com/Blog/cns!7575E2FFC19135B4!196.entry#comment</wfw:comment><dcterms:modified>2005-09-15T09:59:03Z</dcterms:modified></item></channel></rss>