<?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: iPhone Coding â€“ Turbo Charging Your Apps With NSOperation</title>
	<atom:link href="http://www.icodeblog.com/2010/03/04/iphone-coding-turbo-charging-your-apps-with-nsoperation/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.icodeblog.com/2010/03/04/iphone-coding-turbo-charging-your-apps-with-nsoperation/</link>
	<description>Conquering the mobile universe</description>
	<lastBuildDate>Fri, 10 Feb 2012 21:48:00 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
	<item>
		<title>By: Mr. Kela</title>
		<link>http://www.icodeblog.com/2010/03/04/iphone-coding-turbo-charging-your-apps-with-nsoperation/#comment-9194</link>
		<dc:creator>Mr. Kela</dc:creator>
		<pubDate>Tue, 07 Feb 2012 20:09:00 +0000</pubDate>
		<guid isPermaLink="false">http://icodeblog.com/?p=1792#comment-9194</guid>
		<description> The biggest confusion surrounding NSOperation comes from the distinction between concurrent and non-concurrent operations. If you&#039;re using NSOperationQueue
 to run your operations, they&#039;ll always run in parallel as long as the 
operations&#039; prerequisites are met and you have enough processors.


In the original NSOperation terminology, a concurrent operation had an asynchronous API. It had a -start
 method that was expected to return quickly. It would spawn a thread, 
make an asynchronous API call, or perform some equivalent in this 
method. The operation queue then used key-value observing on the isExecuting and isFinished keys to get a notification when the operation had finished.


The point of this distinction was to reduce the overhead of thread creation. Non-concurrent operations just have a -main
 method. The original operation queue would execute this method in a 
separate thread for each operation that was running, while concurrent 
operations could be multiplexed onto a single thread.</description>
		<content:encoded><![CDATA[<p> The biggest confusion surrounding NSOperation comes from the distinction between concurrent and non-concurrent operations. If you&#8217;re using NSOperationQueue<br />
 to run your operations, they&#8217;ll always run in parallel as long as the<br />
operations&#8217; prerequisites are met and you have enough processors.</p>
<p>In the original NSOperation terminology, a concurrent operation had an asynchronous API. It had a -start<br />
 method that was expected to return quickly. It would spawn a thread,<br />
make an asynchronous API call, or perform some equivalent in this<br />
method. The operation queue then used key-value observing on the isExecuting and isFinished keys to get a notification when the operation had finished.</p>
<p>The point of this distinction was to reduce the overhead of thread creation. Non-concurrent operations just have a -main<br />
 method. The original operation queue would execute this method in a<br />
separate thread for each operation that was running, while concurrent<br />
operations could be multiplexed onto a single thread.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Mr. Kela</title>
		<link>http://www.icodeblog.com/2010/03/04/iphone-coding-turbo-charging-your-apps-with-nsoperation/#comment-9192</link>
		<dc:creator>Mr. Kela</dc:creator>
		<pubDate>Mon, 06 Feb 2012 21:30:00 +0000</pubDate>
		<guid isPermaLink="false">http://icodeblog.com/?p=1792#comment-9192</guid>
		<description>tolga:  Oh really? Do you really check/analyze the solution before posting any comment?
Run the code enabling breakpoints on the methods that loads the data from server, and see in the &quot;debug navigator&quot; on which thread data is being loaded. 

 NSOperationQueue is smart enough to only create about as many threads as there are cores, queuing the remaining operations. NSOperationQueue is free to switch to a smarter implementation (like Grand Central Dispatch) now or in the future. It  has some other nice constructs built-in, such as a sophisticated way of honoring operation priorities and dependencies.</description>
		<content:encoded><![CDATA[<p>tolga:  Oh really? Do you really check/analyze the solution before posting any comment?<br />
Run the code enabling breakpoints on the methods that loads the data from server, and see in the &#8220;debug navigator&#8221; on which thread data is being loaded. </p>
<p> NSOperationQueue is smart enough to only create about as many threads as there are cores, queuing the remaining operations. NSOperationQueue is free to switch to a smarter implementation (like Grand Central Dispatch) now or in the future. It  has some other nice constructs built-in, such as a sophisticated way of honoring operation priorities and dependencies.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Mr. Kela</title>
		<link>http://www.icodeblog.com/2010/03/04/iphone-coding-turbo-charging-your-apps-with-nsoperation/#comment-9191</link>
		<dc:creator>Mr. Kela</dc:creator>
		<pubDate>Mon, 06 Feb 2012 21:11:00 +0000</pubDate>
		<guid isPermaLink="false">http://icodeblog.com/?p=1792#comment-9191</guid>
		<description>baabroo daabroo, great tutorialaabroo!
</description>
		<content:encoded><![CDATA[<p>baabroo daabroo, great tutorialaabroo!</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Raaf Vk</title>
		<link>http://www.icodeblog.com/2010/03/04/iphone-coding-turbo-charging-your-apps-with-nsoperation/#comment-9177</link>
		<dc:creator>Raaf Vk</dc:creator>
		<pubDate>Thu, 02 Feb 2012 12:37:00 +0000</pubDate>
		<guid isPermaLink="false">http://icodeblog.com/?p=1792#comment-9177</guid>
		<description>awesommm, great jo</description>
		<content:encoded><![CDATA[<p>awesommm, great jo</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: tolga</title>
		<link>http://www.icodeblog.com/2010/03/04/iphone-coding-turbo-charging-your-apps-with-nsoperation/#comment-9141</link>
		<dc:creator>tolga</dc:creator>
		<pubDate>Thu, 19 Jan 2012 20:20:00 +0000</pubDate>
		<guid isPermaLink="false">http://icodeblog.com/?p=1792#comment-9141</guid>
		<description>Did you actually compile and test your code before posting it here? Because, the &quot;correct&quot; solution is almost identical to the &quot;wrong&quot; one. NSInvocationOperation implements a non-concurrent operation (see reference: http://developer.apple.com/library/mac/#documentation/Cocoa/Reference/NSInvocationOperation_Class/Reference/Reference.html). So, all operations will execute on the same thread, which, in your case is the main thread.</description>
		<content:encoded><![CDATA[<p>Did you actually compile and test your code before posting it here? Because, the &#8220;correct&#8221; solution is almost identical to the &#8220;wrong&#8221; one. NSInvocationOperation implements a non-concurrent operation (see reference: <a href="http://developer.apple.com/library/mac/#documentation/Cocoa/Reference/NSInvocationOperation_Class/Reference/Reference.html" rel="nofollow">http://developer.apple.com/library/mac/#documentation/Cocoa/Reference/NSInvocationOperation_Class/Reference/Reference.html</a>). So, all operations will execute on the same thread, which, in your case is the main thread.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: raees</title>
		<link>http://www.icodeblog.com/2010/03/04/iphone-coding-turbo-charging-your-apps-with-nsoperation/#comment-9130</link>
		<dc:creator>raees</dc:creator>
		<pubDate>Sat, 14 Jan 2012 19:53:00 +0000</pubDate>
		<guid isPermaLink="false">http://icodeblog.com/?p=1792#comment-9130</guid>
		<description>supeeeerrrrrrrrrrrrrrrrr</description>
		<content:encoded><![CDATA[<p>supeeeerrrrrrrrrrrrrrrrr</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Abdullah Umer</title>
		<link>http://www.icodeblog.com/2010/03/04/iphone-coding-turbo-charging-your-apps-with-nsoperation/#comment-9106</link>
		<dc:creator>Abdullah Umer</dc:creator>
		<pubDate>Mon, 09 Jan 2012 12:55:00 +0000</pubDate>
		<guid isPermaLink="false">http://icodeblog.com/?p=1792#comment-9106</guid>
		<description>The [super dealloc] should be called in the end of -(void)dealloc{}.</description>
		<content:encoded><![CDATA[<p>The [super dealloc] should be called in the end of -(void)dealloc{}.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Sabau Radu</title>
		<link>http://www.icodeblog.com/2010/03/04/iphone-coding-turbo-charging-your-apps-with-nsoperation/#comment-8988</link>
		<dc:creator>Sabau Radu</dc:creator>
		<pubDate>Thu, 15 Dec 2011 09:26:00 +0000</pubDate>
		<guid isPermaLink="false">http://icodeblog.com/?p=1792#comment-8988</guid>
		<description>very good tutorial , I&#039;d love to see a more complex NSOperation tutorial . Thanks for the example</description>
		<content:encoded><![CDATA[<p>very good tutorial , I&#8217;d love to see a more complex NSOperation tutorial . Thanks for the example</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Sharlon Balbalosa</title>
		<link>http://www.icodeblog.com/2010/03/04/iphone-coding-turbo-charging-your-apps-with-nsoperation/#comment-8899</link>
		<dc:creator>Sharlon Balbalosa</dc:creator>
		<pubDate>Sun, 04 Dec 2011 00:12:00 +0000</pubDate>
		<guid isPermaLink="false">http://icodeblog.com/?p=1792#comment-8899</guid>
		<description>I am researching about NSOperation because somebody in stackoverflow that I should avoidÂ [NSThreadÂ detachNewThreadSelector:Â toTarget:Â withObject:]Â What is the advantage of using this?</description>
		<content:encoded><![CDATA[<p>I am researching about NSOperation because somebody in stackoverflow that I should avoidÂ [NSThreadÂ detachNewThreadSelector:Â toTarget:Â withObject:]Â What is the advantage of using this?</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Steve Wu</title>
		<link>http://www.icodeblog.com/2010/03/04/iphone-coding-turbo-charging-your-apps-with-nsoperation/#comment-8533</link>
		<dc:creator>Steve Wu</dc:creator>
		<pubDate>Tue, 01 Nov 2011 13:10:00 +0000</pubDate>
		<guid isPermaLink="false">http://icodeblog.com/?p=1792#comment-8533</guid>
		<description>Simple and Great Tutorial</description>
		<content:encoded><![CDATA[<p>Simple and Great Tutorial</p>
]]></content:encoded>
	</item>
</channel>
</rss>

