<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	>
<channel>
	<title>Comments on: Lock Free Coding Addendum</title>
	<atom:link href="http://davedolan.com/blog/2007/10/03/lock-free-coding-addendum/feed/" rel="self" type="application/rss+xml" />
	<link>http://davedolan.com/blog/2007/10/03/lock-free-coding-addendum/</link>
	<description>Website not included.</description>
	<pubDate>Fri, 21 Nov 2008 02:16:24 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.6.3</generator>
		<item>
		<title>By: Dave</title>
		<link>http://davedolan.com/blog/2007/10/03/lock-free-coding-addendum/#comment-7252</link>
		<dc:creator>Dave</dc:creator>
		<pubDate>Fri, 19 Oct 2007 13:38:21 +0000</pubDate>
		<guid isPermaLink="false">http://davedolan.com/blog/2007/10/03/lock-free-coding-addendum/#comment-7252</guid>
		<description>found something, I don't know how I missed it before...
http://www.boyet.com/Articles/LockFreeLimitedPriorityQ.html</description>
		<content:encoded><![CDATA[<p>found something, I don&#8217;t know how I missed it before&#8230;<br />
<a href="http://www.boyet.com/Articles/LockFreeLimitedPriorityQ.html" rel="nofollow">http://www.boyet.com/Articles/LockFreeLimitedPriorityQ.html</a></p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Dave</title>
		<link>http://davedolan.com/blog/2007/10/03/lock-free-coding-addendum/#comment-7251</link>
		<dc:creator>Dave</dc:creator>
		<pubDate>Fri, 19 Oct 2007 13:11:46 +0000</pubDate>
		<guid isPermaLink="false">http://davedolan.com/blog/2007/10/03/lock-free-coding-addendum/#comment-7251</guid>
		<description>Please do enlighten me of which algorithms you speak, because so far all I can find are things involving System.Collections and SynchRoot, or custom version of it that are like that.. which has till now been very disappointing.  Is there a library somewhere on this? (Sorry about making you hit a captcha to post here, I got spammed ridiculously before I did that though.)</description>
		<content:encoded><![CDATA[<p>Please do enlighten me of which algorithms you speak, because so far all I can find are things involving System.Collections and SynchRoot, or custom version of it that are like that.. which has till now been very disappointing.  Is there a library somewhere on this? (Sorry about making you hit a captcha to post here, I got spammed ridiculously before I did that though.)</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: passenger</title>
		<link>http://davedolan.com/blog/2007/10/03/lock-free-coding-addendum/#comment-7234</link>
		<dc:creator>passenger</dc:creator>
		<pubDate>Fri, 19 Oct 2007 07:48:05 +0000</pubDate>
		<guid isPermaLink="false">http://davedolan.com/blog/2007/10/03/lock-free-coding-addendum/#comment-7234</guid>
		<description>In C# you can create a thread-safe collection by wrapping around your queue with Queue.Synchronised. What it does is creating a lock around the Enqueue/Dequeue operations so that only one thread a time can perform these operations on the same instance of the queue. There are scalability issues: if a server has X threads accessing the queue the lock will cause a performance drop due to serialization of execution. That\'s where lock-free stack, queue, hash etc algorithms help. They allow threads to enter the same dequeue/enqueue operation simultaneously and progress in parallel operation down to a single CAS (compare-and-swap) primitive which is called Interlocked.CompareExchange in C#.</description>
		<content:encoded><![CDATA[<p>In C# you can create a thread-safe collection by wrapping around your queue with Queue.Synchronised. What it does is creating a lock around the Enqueue/Dequeue operations so that only one thread a time can perform these operations on the same instance of the queue. There are scalability issues: if a server has X threads accessing the queue the lock will cause a performance drop due to serialization of execution. That\&#8217;s where lock-free stack, queue, hash etc algorithms help. They allow threads to enter the same dequeue/enqueue operation simultaneously and progress in parallel operation down to a single CAS (compare-and-swap) primitive which is called Interlocked.CompareExchange in C#.</p>
]]></content:encoded>
	</item>
</channel>
</rss>
