<?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"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
		>
<channel>
	<title>Comments on: Concurrency Pattern: Concurrent Set implementations in Java 6</title>
	<atom:link href="http://dhruba.name/2009/08/05/concurrent-set-implementations-in-java-6/feed/" rel="self" type="application/rss+xml" />
	<link>http://dhruba.name/2009/08/05/concurrent-set-implementations-in-java-6/</link>
	<description>Maximum Zeal ~ Emphatic prose on indulged fascinations</description>
	<lastBuildDate>Tue, 13 Mar 2012 03:08:43 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
	<item>
		<title>By: Dhruba Bandopadhyay</title>
		<link>http://dhruba.name/2009/08/05/concurrent-set-implementations-in-java-6/comment-page-1/#comment-32603</link>
		<dc:creator>Dhruba Bandopadhyay</dc:creator>
		<pubDate>Wed, 21 Sep 2011 21:32:47 +0000</pubDate>
		<guid isPermaLink="false">http://dhruba.name/?p=1117#comment-32603</guid>
		<description>Hi Semyon! That is an excellent point. And well done for profiling. So few people do it these days - everyone is always complaining they have no time. I do miss the more interesting work along with you guys. So, yes, I agree. The key point about Cliff Click&#039;s collections as has often been mentioned by Doug Lea himself on the concurrency mailing list (http://goo.gl/ATpmV as an example) is that they are better for certain usage patterns with the JDK equivalents being better for others.

It&#039;s amazing how many people don&#039;t know about the trick in this post. This must be one of the most popular posts on the blog. The entire codebase I&#039;m working with at work is using CopyOnWriteArraySet as a concurrent set everywhere. Imagine that! :-) Luckily most uses of Set for us are only to store listeners (observer pattern).  I&#039;m looking forward also to the new ConcurrentHashMap that is upcoming in Java 8 (http://goo.gl/2cHFJ). Check it out!</description>
		<content:encoded><![CDATA[<p>Hi Semyon! That is an excellent point. And well done for profiling. So few people do it these days &#8211; everyone is always complaining they have no time. I do miss the more interesting work along with you guys. So, yes, I agree. The key point about Cliff Click&#8217;s collections as has often been mentioned by Doug Lea himself on the concurrency mailing list (<a href="http://goo.gl/ATpmV" rel="nofollow">http://goo.gl/ATpmV</a> as an example) is that they are better for certain usage patterns with the JDK equivalents being better for others.</p>
<p>It&#8217;s amazing how many people don&#8217;t know about the trick in this post. This must be one of the most popular posts on the blog. The entire codebase I&#8217;m working with at work is using CopyOnWriteArraySet as a concurrent set everywhere. Imagine that! :-) Luckily most uses of Set for us are only to store listeners (observer pattern).  I&#8217;m looking forward also to the new ConcurrentHashMap that is upcoming in Java 8 (<a href="http://goo.gl/2cHFJ" rel="nofollow">http://goo.gl/2cHFJ</a>). Check it out!</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Semyon Ch</title>
		<link>http://dhruba.name/2009/08/05/concurrent-set-implementations-in-java-6/comment-page-1/#comment-32549</link>
		<dc:creator>Semyon Ch</dc:creator>
		<pubDate>Tue, 20 Sep 2011 19:12:25 +0000</pubDate>
		<guid isPermaLink="false">http://dhruba.name/?p=1117#comment-32549</guid>
		<description>NonBlockingHashSet is good for &quot;add&quot; but it is vey slow in case of iteration. Profiling (JProfiler7) showes that iteration over NonBlockingHashSet around 10 times slower than iteration over the set built on ConcurrentHashMap.
We replaced NonBlockingHashSet with the latter one.</description>
		<content:encoded><![CDATA[<p>NonBlockingHashSet is good for &#8220;add&#8221; but it is vey slow in case of iteration. Profiling (JProfiler7) showes that iteration over NonBlockingHashSet around 10 times slower than iteration over the set built on ConcurrentHashMap.<br />
We replaced NonBlockingHashSet with the latter one.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Dhruba Bandopadhyay</title>
		<link>http://dhruba.name/2009/08/05/concurrent-set-implementations-in-java-6/comment-page-1/#comment-32520</link>
		<dc:creator>Dhruba Bandopadhyay</dc:creator>
		<pubDate>Tue, 20 Sep 2011 07:02:01 +0000</pubDate>
		<guid isPermaLink="false">http://dhruba.name/?p=1117#comment-32520</guid>
		<description>Thanks Semyon! I&#039;m really glad I could help. And when readers provide positive feedback it makes all the effort worthwhile. Don&#039;t forget - if you have the option to use the NonBlockingHashSet then use it instead. It will be faster than jdk for most use cases.</description>
		<content:encoded><![CDATA[<p>Thanks Semyon! I&#8217;m really glad I could help. And when readers provide positive feedback it makes all the effort worthwhile. Don&#8217;t forget &#8211; if you have the option to use the NonBlockingHashSet then use it instead. It will be faster than jdk for most use cases.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Semyon Ch</title>
		<link>http://dhruba.name/2009/08/05/concurrent-set-implementations-in-java-6/comment-page-1/#comment-32486</link>
		<dc:creator>Semyon Ch</dc:creator>
		<pubDate>Mon, 19 Sep 2011 14:02:54 +0000</pubDate>
		<guid isPermaLink="false">http://dhruba.name/?p=1117#comment-32486</guid>
		<description>Hello Dhruba!
7th result in google search on query &quot;ConcurrentHashSet&quot;! 
On the first page!
Of course, your blog was the first link I navigated to as I was sure there would be a clear answer!</description>
		<content:encoded><![CDATA[<p>Hello Dhruba!<br />
7th result in google search on query &#8220;ConcurrentHashSet&#8221;!<br />
On the first page!<br />
Of course, your blog was the first link I navigated to as I was sure there would be a clear answer!</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: JamesD</title>
		<link>http://dhruba.name/2009/08/05/concurrent-set-implementations-in-java-6/comment-page-1/#comment-24334</link>
		<dc:creator>JamesD</dc:creator>
		<pubDate>Thu, 21 Apr 2011 18:02:15 +0000</pubDate>
		<guid isPermaLink="false">http://dhruba.name/?p=1117#comment-24334</guid>
		<description>Awesome stuff. Thanks!</description>
		<content:encoded><![CDATA[<p>Awesome stuff. Thanks!</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Pip</title>
		<link>http://dhruba.name/2009/08/05/concurrent-set-implementations-in-java-6/comment-page-1/#comment-12785</link>
		<dc:creator>Pip</dc:creator>
		<pubDate>Sat, 06 Mar 2010 19:24:38 +0000</pubDate>
		<guid isPermaLink="false">http://dhruba.name/?p=1117#comment-12785</guid>
		<description>very nice! thanks.</description>
		<content:encoded><![CDATA[<p>very nice! thanks.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Siggy</title>
		<link>http://dhruba.name/2009/08/05/concurrent-set-implementations-in-java-6/comment-page-1/#comment-12710</link>
		<dc:creator>Siggy</dc:creator>
		<pubDate>Tue, 02 Mar 2010 18:12:52 +0000</pubDate>
		<guid isPermaLink="false">http://dhruba.name/?p=1117#comment-12710</guid>
		<description>Big thanks; a very useful method.</description>
		<content:encoded><![CDATA[<p>Big thanks; a very useful method.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Evgeny</title>
		<link>http://dhruba.name/2009/08/05/concurrent-set-implementations-in-java-6/comment-page-1/#comment-12456</link>
		<dc:creator>Evgeny</dc:creator>
		<pubDate>Thu, 18 Feb 2010 14:39:41 +0000</pubDate>
		<guid isPermaLink="false">http://dhruba.name/?p=1117#comment-12456</guid>
		<description>thanks for your post. That&#039;s exactly what I&#039;ve been looking for</description>
		<content:encoded><![CDATA[<p>thanks for your post. That&#8217;s exactly what I&#8217;ve been looking for</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Paul</title>
		<link>http://dhruba.name/2009/08/05/concurrent-set-implementations-in-java-6/comment-page-1/#comment-12246</link>
		<dc:creator>Paul</dc:creator>
		<pubDate>Tue, 09 Feb 2010 04:22:34 +0000</pubDate>
		<guid isPermaLink="false">http://dhruba.name/?p=1117#comment-12246</guid>
		<description>Thanks for this list. I find it very useful. :)</description>
		<content:encoded><![CDATA[<p>Thanks for this list. I find it very useful. :)</p>
]]></content:encoded>
	</item>
</channel>
</rss>

