<?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# Information, Code, Tips and News</description>
	<lastBuildDate>Mon, 19 Jul 2010 14:56:35 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.6</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<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 [...]


Related posts:<ol><li><a href='http://www.csharp411.com/close-all-forms-in-a-thread-safe-manner/' rel='bookmark' title='Permanent Link: Close All Forms in an Application in a Thread-Safe Manner'>Close All Forms in an Application in a Thread-Safe Manner</a></li><li><a href='http://www.csharp411.com/simplify-delegates-with-inferences/' rel='bookmark' title='Permanent Link: Simplify Delegates with Inferences'>Simplify Delegates with Inferences</a></li><li><a href='http://www.csharp411.com/property-delegates-with-anonymous-methods/' rel='bookmark' title='Permanent Link: Property Delegates with Anonymous Methods'>Property Delegates with Anonymous Methods</a></li></ol>]]></description>
		<wfw:commentRss>http://www.csharp411.com/manipulating-controls-across-threads/feed/</wfw:commentRss>
		<slash:comments>5</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'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'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 [...]


Related posts:<ol><li><a href='http://www.csharp411.com/grow-your-own-syncroot/' rel='bookmark' title='Permanent Link: Grow Your Own SyncRoot'>Grow Your Own SyncRoot</a></li><li><a href='http://www.csharp411.com/exceptions-are-for-exceptions/' rel='bookmark' title='Permanent Link: Exceptions are for Exceptions'>Exceptions are for Exceptions</a></li><li><a href='http://www.csharp411.com/c-empty-enumerator/' rel='bookmark' title='Permanent Link: C# Empty Enumerator'>C# Empty Enumerator</a></li></ol>]]></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'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 [...]


Related posts:<ol><li><a href='http://www.csharp411.com/enumerate-collections-without-exceptions/' rel='bookmark' title='Permanent Link: Enumerate Collections without Exceptions'>Enumerate Collections without Exceptions</a></li><li><a href='http://www.csharp411.com/manipulating-controls-across-threads/' rel='bookmark' title='Permanent Link: Manipulating Controls Across Threads'>Manipulating Controls Across Threads</a></li><li><a href='http://www.csharp411.com/constructor-chaining/' rel='bookmark' title='Permanent Link: Constructor Chaining'>Constructor Chaining</a></li></ol>]]></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 [...]


Related posts:<ol><li><a href='http://www.csharp411.com/dodragdrop-is-synchronous/' rel='bookmark' title='Permanent Link: DoDragDrop is Synchronous'>DoDragDrop is Synchronous</a></li><li><a href='http://www.csharp411.com/system-sounds-made-easy/' rel='bookmark' title='Permanent Link: System Sounds Made Easy'>System Sounds Made Easy</a></li><li><a href='http://www.csharp411.com/convert-between-generic-ienumerablet/' rel='bookmark' title='Permanent Link: Convert Between Generic IEnumerable&#60;T&#62;'>Convert Between Generic IEnumerable&#60;T&#62;</a></li></ol>]]></description>
		<wfw:commentRss>http://www.csharp411.com/convert-between-synchronous-and-asynchronous/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
	</channel>
</rss>
