<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>C# 411 &#187; Threading</title>
	<atom:link href="http://www.csharp411.com/category/threading/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.csharp411.com</link>
	<description>C# Development</description>
	<lastBuildDate>Sat, 19 Nov 2011 19:34:01 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title>Manipulating Controls Across Threads</title>
		<link>http://www.csharp411.com/manipulating-controls-across-threads/</link>
		<comments>http://www.csharp411.com/manipulating-controls-across-threads/#comments</comments>
		<pubDate>Thu, 15 May 2008 16:18:05 +0000</pubDate>
		<dc:creator>Timm</dc:creator>
				<category><![CDATA[C#]]></category>
		<category><![CDATA[Controls]]></category>
		<category><![CDATA[Threading]]></category>
		<category><![CDATA[Tips]]></category>
		<category><![CDATA[Windows Forms]]></category>

		<guid isPermaLink="false">http://www.csharp411.com/manipulating-controls-across-threads/</guid>
		<description><![CDATA[Methods that affect a Windows Forms control can be executed only on the thread that created the control. .NET does not permit directly manipulating controls across threads. The Visual Studio compiler under .NET 2.0 will mark these attempts as errors. .NET 1.1 will allow them, but these will often result in unexpected behavior like incorrectly-painted [...]]]></description>
		<wfw:commentRss>http://www.csharp411.com/manipulating-controls-across-threads/feed/</wfw:commentRss>
		<slash:comments>10</slash:comments>
		</item>
		<item>
		<title>Enumerate Collections without Exceptions</title>
		<link>http://www.csharp411.com/enumerate-collections-without-exceptions/</link>
		<comments>http://www.csharp411.com/enumerate-collections-without-exceptions/#comments</comments>
		<pubDate>Tue, 06 May 2008 13:35:25 +0000</pubDate>
		<dc:creator>Timm</dc:creator>
				<category><![CDATA[C#]]></category>
		<category><![CDATA[Collections]]></category>
		<category><![CDATA[Threading]]></category>
		<category><![CDATA[Tips]]></category>

		<guid isPermaLink="false">http://www.csharp411.com/enumerate-collections-without-exceptions/</guid>
		<description><![CDATA[It&#8217;s important to note that an enumerator does not have exclusive, thread-safe access to its collection.&#160; Even when a collection is synchronized, other threads can still modify the collection.&#160; Therefore, a collection&#8217;s contents can change while enumerating through it, which will cause the enumerator to throw an exception.&#160; So there are three key ways to [...]]]></description>
		<wfw:commentRss>http://www.csharp411.com/enumerate-collections-without-exceptions/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Grow Your Own SyncRoot</title>
		<link>http://www.csharp411.com/grow-your-own-syncroot/</link>
		<comments>http://www.csharp411.com/grow-your-own-syncroot/#comments</comments>
		<pubDate>Tue, 29 Apr 2008 16:18:22 +0000</pubDate>
		<dc:creator>Timm</dc:creator>
				<category><![CDATA[C#]]></category>
		<category><![CDATA[Collections]]></category>
		<category><![CDATA[Threading]]></category>
		<category><![CDATA[Tips]]></category>
		<category><![CDATA[ArrayList]]></category>
		<category><![CDATA[Multithreading]]></category>
		<category><![CDATA[SyncRoot]]></category>

		<guid isPermaLink="false">http://www.csharp411.com/grow-your-own-syncroot/</guid>
		<description><![CDATA[Multi-threaded code is challenging to get right and even harder to debug once it&#8217;s gone wrong. This is especially true when attempting to collect data from multiple threads. To make this easier, many .NET collection classes include the SyncRoot property to maintain proper synchronization with other threads that might be simultaneously modifying the collection. But [...]]]></description>
		<wfw:commentRss>http://www.csharp411.com/grow-your-own-syncroot/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Convert Between Synchronous and Asynchronous</title>
		<link>http://www.csharp411.com/convert-between-synchronous-and-asynchronous/</link>
		<comments>http://www.csharp411.com/convert-between-synchronous-and-asynchronous/#comments</comments>
		<pubDate>Mon, 19 Nov 2007 18:25:53 +0000</pubDate>
		<dc:creator>Timm</dc:creator>
				<category><![CDATA[C#]]></category>
		<category><![CDATA[Threading]]></category>
		<category><![CDATA[Tips]]></category>
		<category><![CDATA[Asynchronous]]></category>
		<category><![CDATA[EventWaitHandle]]></category>
		<category><![CDATA[Multithreading]]></category>
		<category><![CDATA[Synchronous]]></category>
		<category><![CDATA[Thread]]></category>

		<guid isPermaLink="false">http://www.mini-tools.com/at2/csharp/wordpress/convert-between-synchronous-and-asynchronous/</guid>
		<description><![CDATA[When a program calls a synchronous function, the program halts and waits for the function to finish executing. When a program calls an asynchronous function, the program does not wait and continues to execute while the asynchronous function executes in the background. By default, C# methods are synchronous. External functions that can take a long [...]]]></description>
		<wfw:commentRss>http://www.csharp411.com/convert-between-synchronous-and-asynchronous/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
	</channel>
</rss>

