<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://blogs.msdn.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>Measuring how difficult a Threading bug is</title><link>http://blogs.msdn.com/jmstall/archive/2005/04/03/405059.aspx</link><description>S ome bugs are easy and some are hard. Bugs can also be hard for a varierty of reasons. For example, some bugs are difficult because they involve an extremely complex algorithm. Other bugs are difficult because it's not clear what the correct behavior</description><dc:language>en-US</dc:language><generator>CommunityServer 2.1 SP1 (Build: 61025.2)</generator><item><title>re: Measuring how difficult a Threading bug is</title><link>http://blogs.msdn.com/jmstall/archive/2005/04/03/405059.aspx#405110</link><pubDate>Mon, 04 Apr 2005 04:07:35 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:405110</guid><dc:creator>Nicholas Allen</dc:creator><description>Code running in an OS/platform callback.  You can be running with internal locks held that aren't documented allowing you to unexpectedly deadlock or silently corrupt OS data structures in a way that causes a bug in the far future.  It may not even be possible to debug your code normally because debugging no longer functions.  Examples: loader lock, audio subsystem.&lt;br&gt;&lt;br&gt;6-8 depending on how well documented the callback function is.&lt;br&gt;&lt;br&gt;Race condition/locks taken against hardware.  Debugging the other side is impossible, little chance of getting the hardware changed, and the problem might only be visible below any software (processor, system bus, an expansion card).  Examples: video cards, sound cards, anything that electrically resets on fault.&lt;br&gt;&lt;br&gt;8-10 depending on the hardware quality.</description></item><item><title>re: Measuring how difficult a Threading bug is</title><link>http://blogs.msdn.com/jmstall/archive/2005/04/03/405059.aspx#405141</link><pubDate>Mon, 04 Apr 2005 08:08:45 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:405141</guid><dc:creator>Pavel Lebedinsky</dc:creator><description>&amp;gt; Win32 events (aka conditional variables)&lt;br&gt;&lt;br&gt;Condition variables are not the same as win32 events. If anything, they are closer to System.Threading.Monitor.&lt;br&gt;&lt;br&gt;In general I think that monitor-style code is easier to write and debug than equivalent code using low-level primitives like events.</description></item><item><title>re: Measuring how difficult a Threading bug is</title><link>http://blogs.msdn.com/jmstall/archive/2005/04/03/405059.aspx#405238</link><pubDate>Mon, 04 Apr 2005 18:53:16 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:405238</guid><dc:creator>Dmitriy Zaslavskiy</dc:creator><description>Somewhere with #9. Is the memory model related issues (that people seem to ignore). CPU reordering is a real issue (for algorithms that try to avoid even critical section, or just trying to be cute). What's very commonly overlooked is that reordering happens not only on IA64 but also on x86 (IA32)</description></item><item><title>Optimize for Simplicity</title><link>http://blogs.msdn.com/jmstall/archive/2005/04/03/405059.aspx#3586715</link><pubDate>Thu, 28 Jun 2007 19:25:06 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:3586715</guid><dc:creator>Mike Stall's .NET Debugging Blog</dc:creator><description>&lt;p&gt;For a compiler, the common things are code size vs. speed . The conventional wisdom is to optimize for&lt;/p&gt;
</description></item><item><title>Why threading is hard</title><link>http://blogs.msdn.com/jmstall/archive/2005/04/03/405059.aspx#7326756</link><pubDate>Wed, 30 Jan 2008 16:51:33 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:7326756</guid><dc:creator>Noticias externas</dc:creator><description>&lt;p&gt;Anybody who says &amp;amp;quot;I can write correct multi threaded code&amp;amp;quot; probably should be saying &amp;amp;quot;I&lt;/p&gt;
</description></item></channel></rss>