<?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: A Simple Job Queue With Grand Central Dispatch</title>
	<atom:link href="http://www.fieryrobot.com/blog/2010/06/27/a-simple-job-queue-with-grand-central-dispatch/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.fieryrobot.com/blog/2010/06/27/a-simple-job-queue-with-grand-central-dispatch/</link>
	<description>Defender of Corporate Headquarters</description>
	<lastBuildDate>Fri, 09 Dec 2011 06:14:31 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
	<item>
		<title>By: Diethard</title>
		<link>http://www.fieryrobot.com/blog/2010/06/27/a-simple-job-queue-with-grand-central-dispatch/comment-page-1/#comment-218438</link>
		<dc:creator>Diethard</dc:creator>
		<pubDate>Fri, 09 Dec 2011 06:14:31 +0000</pubDate>
		<guid isPermaLink="false">http://www.fieryrobot.com/blog/?p=271#comment-218438</guid>
		<description>&lt;p&gt;Thanks for this very good tutorial.
Can you please write soemthing about using core data and performBlock and performBlockAndWait and the new concurrency types? How to use in different async blocks to do fetches parallel wihtout blocking? What should be inside a performBlock, also the save call? When to use parentContext?&lt;/p&gt;
</description>
		<content:encoded><![CDATA[<p>Thanks for this very good tutorial.
Can you please write soemthing about using core data and performBlock and performBlockAndWait and the new concurrency types? How to use in different async blocks to do fetches parallel wihtout blocking? What should be inside a performBlock, also the save call? When to use parentContext?</p>]]></content:encoded>
	</item>
	<item>
		<title>By: Vijay</title>
		<link>http://www.fieryrobot.com/blog/2010/06/27/a-simple-job-queue-with-grand-central-dispatch/comment-page-1/#comment-217856</link>
		<dc:creator>Vijay</dc:creator>
		<pubDate>Fri, 25 Nov 2011 06:52:01 +0000</pubDate>
		<guid isPermaLink="false">http://www.fieryrobot.com/blog/?p=271#comment-217856</guid>
		<description>&lt;p&gt;When we are fetching some data from internet through blocks if suddenly network fails then what can we do to handle that and how can we avoid crash iphone application&lt;/p&gt;
</description>
		<content:encoded><![CDATA[<p>When we are fetching some data from internet through blocks if suddenly network fails then what can we do to handle that and how can we avoid crash iphone application</p>]]></content:encoded>
	</item>
	<item>
		<title>By: Chris</title>
		<link>http://www.fieryrobot.com/blog/2010/06/27/a-simple-job-queue-with-grand-central-dispatch/comment-page-1/#comment-207857</link>
		<dc:creator>Chris</dc:creator>
		<pubDate>Mon, 07 Mar 2011 02:45:19 +0000</pubDate>
		<guid isPermaLink="false">http://www.fieryrobot.com/blog/?p=271#comment-207857</guid>
		<description>&lt;p&gt;Thanks for a good, concise tutorial. First one I&#039;ve been able to find.&lt;/p&gt;
</description>
		<content:encoded><![CDATA[<p>Thanks for a good, concise tutorial. First one I&#8217;ve been able to find.</p>]]></content:encoded>
	</item>
	<item>
		<title>By: Preston</title>
		<link>http://www.fieryrobot.com/blog/2010/06/27/a-simple-job-queue-with-grand-central-dispatch/comment-page-1/#comment-205909</link>
		<dc:creator>Preston</dc:creator>
		<pubDate>Mon, 24 Jan 2011 08:09:19 +0000</pubDate>
		<guid isPermaLink="false">http://www.fieryrobot.com/blog/?p=271#comment-205909</guid>
		<description>&lt;p&gt;&quot;NSOperationQueue would never exist if GCD had come first.&quot;&lt;/p&gt;

&lt;p&gt;This isn&#039;t necessarily true. However, there are features that the lower-level GCD has which aren&#039;t replicated yet in NSOperationQueue, but the reverse is also true, such as the ability to specify dependencies between NSOperations as well as KVO.&lt;/p&gt;

&lt;p&gt;The recommended way is to use the higher-level API, dropping to the lower-level only when needed. Applications that used NSOperation in Leopard were automatically using GCD in Snow Leopard...and that will also be true of whatever comes in the future. :)&lt;/p&gt;
</description>
		<content:encoded><![CDATA[<p>&#8220;NSOperationQueue would never exist if GCD had come first.&#8221;</p>

<p>This isn&#8217;t necessarily true. However, there are features that the lower-level GCD has which aren&#8217;t replicated yet in NSOperationQueue, but the reverse is also true, such as the ability to specify dependencies between NSOperations as well as KVO.</p>

<p>The recommended way is to use the higher-level API, dropping to the lower-level only when needed. Applications that used NSOperation in Leopard were automatically using GCD in Snow Leopard&#8230;and that will also be true of whatever comes in the future. <img src='http://www.fieryrobot.com/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>]]></content:encoded>
	</item>
	<item>
		<title>By: luke</title>
		<link>http://www.fieryrobot.com/blog/2010/06/27/a-simple-job-queue-with-grand-central-dispatch/comment-page-1/#comment-205198</link>
		<dc:creator>luke</dc:creator>
		<pubDate>Thu, 13 Jan 2011 10:40:04 +0000</pubDate>
		<guid isPermaLink="false">http://www.fieryrobot.com/blog/?p=271#comment-205198</guid>
		<description>&lt;p&gt;The best Blocks tutorial I have found yet.&lt;/p&gt;
</description>
		<content:encoded><![CDATA[<p>The best Blocks tutorial I have found yet.</p>]]></content:encoded>
	</item>
	<item>
		<title>By: Ed</title>
		<link>http://www.fieryrobot.com/blog/2010/06/27/a-simple-job-queue-with-grand-central-dispatch/comment-page-1/#comment-202657</link>
		<dc:creator>Ed</dc:creator>
		<pubDate>Tue, 23 Nov 2010 17:46:16 +0000</pubDate>
		<guid isPermaLink="false">http://www.fieryrobot.com/blog/?p=271#comment-202657</guid>
		<description>&lt;p&gt;You don&#039;t need to link to anything special. It&#039;s build into libSystem. As for includes, just do&lt;/p&gt;

&lt;p&gt;&lt;code&gt;#import &lt;dispatch/dispatch.h&gt;&lt;/code&gt;&lt;/p&gt;
</description>
		<content:encoded><![CDATA[<p>You don&#8217;t need to link to anything special. It&#8217;s build into libSystem. As for includes, just do</p>

<p><code>#import &lt;dispatch/dispatch.h></code></p>]]></content:encoded>
	</item>
	<item>
		<title>By: Aaron Mathias</title>
		<link>http://www.fieryrobot.com/blog/2010/06/27/a-simple-job-queue-with-grand-central-dispatch/comment-page-1/#comment-202626</link>
		<dc:creator>Aaron Mathias</dc:creator>
		<pubDate>Tue, 23 Nov 2010 02:38:23 +0000</pubDate>
		<guid isPermaLink="false">http://www.fieryrobot.com/blog/?p=271#comment-202626</guid>
		<description>&lt;p&gt;can you post directions for what framework needs to be added to my xcode project as well as what import statements i need to add to my class files.&lt;/p&gt;
</description>
		<content:encoded><![CDATA[<p>can you post directions for what framework needs to be added to my xcode project as well as what import statements i need to add to my class files.</p>]]></content:encoded>
	</item>
	<item>
		<title>By: Ed</title>
		<link>http://www.fieryrobot.com/blog/2010/06/27/a-simple-job-queue-with-grand-central-dispatch/comment-page-1/#comment-195009</link>
		<dc:creator>Ed</dc:creator>
		<pubDate>Tue, 29 Jun 2010 05:55:05 +0000</pubDate>
		<guid isPermaLink="false">http://www.fieryrobot.com/blog/?p=271#comment-195009</guid>
		<description>&lt;p&gt;For my uses, the only thing that NSOperationQueue gives you is above GCD is a cancellation flag. And I don&#039;t see any equivalent to dispatch groups (short of waitUntilAllOperationsAreFinished, which is purely synchronous), which I also use. In general, I would rather use the lower-level service unless there&#039;s some strong benefit to the higher-level one (I wouldn&#039;t use CFRunLoopTimers directly, for example, since NSTimer is so much easier), but in this case, I&#039;m not seeing the win. If you are, that&#039;s fine. &lt;/p&gt;

&lt;p&gt;Regardless, my point with these posts is to show how to use GCD directly though.&lt;/p&gt;
</description>
		<content:encoded><![CDATA[<p>For my uses, the only thing that NSOperationQueue gives you is above GCD is a cancellation flag. And I don&#8217;t see any equivalent to dispatch groups (short of waitUntilAllOperationsAreFinished, which is purely synchronous), which I also use. In general, I would rather use the lower-level service unless there&#8217;s some strong benefit to the higher-level one (I wouldn&#8217;t use CFRunLoopTimers directly, for example, since NSTimer is so much easier), but in this case, I&#8217;m not seeing the win. If you are, that&#8217;s fine. </p>

<p>Regardless, my point with these posts is to show how to use GCD directly though.</p>]]></content:encoded>
	</item>
	<item>
		<title>By: Jonathan Wight</title>
		<link>http://www.fieryrobot.com/blog/2010/06/27/a-simple-job-queue-with-grand-central-dispatch/comment-page-1/#comment-195003</link>
		<dc:creator>Jonathan Wight</dc:creator>
		<pubDate>Tue, 29 Jun 2010 03:08:09 +0000</pubDate>
		<guid isPermaLink="false">http://www.fieryrobot.com/blog/?p=271#comment-195003</guid>
		<description>&lt;p&gt;There&#039;s NSBlockOperation already and NSOperation support completion blocks.&lt;/p&gt;

&lt;p&gt;It&#039;s &lt;em&gt;not&lt;/em&gt; &quot;less typing&quot; if you have to write most of NSOperationQueue.&lt;/p&gt;

&lt;p&gt;Apple Engineers recommended at WWDC using NSOperationQueue in ObjC progreams.&lt;/p&gt;
</description>
		<content:encoded><![CDATA[<p>There&#8217;s NSBlockOperation already and NSOperation support completion blocks.</p>

<p>It&#8217;s <em>not</em> &#8220;less typing&#8221; if you have to write most of NSOperationQueue.</p>

<p>Apple Engineers recommended at WWDC using NSOperationQueue in ObjC progreams.</p>]]></content:encoded>
	</item>
	<item>
		<title>By: Ed</title>
		<link>http://www.fieryrobot.com/blog/2010/06/27/a-simple-job-queue-with-grand-central-dispatch/comment-page-1/#comment-194974</link>
		<dc:creator>Ed</dc:creator>
		<pubDate>Mon, 28 Jun 2010 17:30:39 +0000</pubDate>
		<guid isPermaLink="false">http://www.fieryrobot.com/blog/?p=271#comment-194974</guid>
		<description>&lt;p&gt;An NSOperationQueue could do this, yes. But then you need to create operation objects, etc. to wrap all your code in. You don&#039;t need any of that with GCD. It&#039;s less typing, more straightforward, and far more flexible, and you can take advantage of blocks. And since NSOperationQueue is built on top of GCD, you can eliminate the middleman. NSOperationQueue would never exist if GCD had come first. &lt;/p&gt;

&lt;p&gt;Implement it both ways and you&#039;ll find that the complexity is far lower using GCD.&lt;/p&gt;
</description>
		<content:encoded><![CDATA[<p>An NSOperationQueue could do this, yes. But then you need to create operation objects, etc. to wrap all your code in. You don&#8217;t need any of that with GCD. It&#8217;s less typing, more straightforward, and far more flexible, and you can take advantage of blocks. And since NSOperationQueue is built on top of GCD, you can eliminate the middleman. NSOperationQueue would never exist if GCD had come first. </p>

<p>Implement it both ways and you&#8217;ll find that the complexity is far lower using GCD.</p>]]></content:encoded>
	</item>
</channel>
</rss>

