<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0"><channel><title>mikeash.com pyblog/gcd-is-not-blocks-blocks-are-not-gcd.html comments</title><link>http://www.mikeash.com/?page=pyblog/gcd-is-not-blocks-blocks-are-not-gcd.html#comments</link><description>mikeash.com Recent Comments</description><lastBuildDate>Sun, 10 May 2026 05:51:02 GMT</lastBuildDate><generator>PyRSS2Gen-1.0.0</generator><docs>http://blogs.law.harvard.edu/tech/rss</docs><item><title>mikeash - 2009-09-24 15:45:12</title><link>http://www.mikeash.com/?page=pyblog/gcd-is-not-blocks-blocks-are-not-gcd.html#comments</link><description>"You can use GCD without blocks, via the _f variants provided for every GCD function that takes a block."
&lt;br /&gt;
&lt;br /&gt;The documentation is freely available. Go look it up!</description><guid isPermaLink="true">d04cc5ec2e30fc1d4a0ce11548071d63</guid><pubDate>Thu, 24 Sep 2009 15:45:12 GMT</pubDate></item><item><title>David Hall - 2009-09-24 13:28:36</title><link>http://www.mikeash.com/?page=pyblog/gcd-is-not-blocks-blocks-are-not-gcd.html#comments</link><description>Can you provide an example where GCD doesn't use blocks.  Providing yet another example of GCD using blocks does not prove your point.</description><guid isPermaLink="true">168d5cc24d7dcdaaa4e25fc840edb113</guid><pubDate>Thu, 24 Sep 2009 13:28:36 GMT</pubDate></item><item><title>mikeash - 2009-09-12 15:39:28</title><link>http://www.mikeash.com/?page=pyblog/gcd-is-not-blocks-blocks-are-not-gcd.html#comments</link><description>Yes, NSOperationQueue is implemented using GCD on 10.6. There's no real control to be sacrificed, here: NSOpQ is already a high-level API that gives you little control as it is.
&lt;br /&gt;
&lt;br /&gt;Otherwise, GCD basically doesn't fit with Cocoa. You can use them together, certainly, but there's no integration between them. No Cocoa APIs take GCD blocks or return GCD sources or anything like that. This is fine, really: GCD is a perfectly usable and straightforward API as it is, and doesn't need an ObjC wrapper.
&lt;br /&gt;
&lt;br /&gt;As for Cocoa blocks APIs, pop open Xcode and do a multi-file find "In Framework" for (^) and you'll see them all.</description><guid isPermaLink="true">09305c6d1d10cb6f00afbffb1b7d65a4</guid><pubDate>Sat, 12 Sep 2009 15:39:28 GMT</pubDate></item><item><title>JulesLt - 2009-09-12 15:05:13</title><link>http://www.mikeash.com/?page=pyblog/gcd-is-not-blocks-blocks-are-not-gcd.html#comments</link><description>My understanding is that NSOperation and NSOperationQueue will use GCD underneath on Snow Leopard systems, although I presume you sacrifice a level of control in doing so.</description><guid isPermaLink="true">04cb26a4023474bf5036e98835f8f9b5</guid><pubDate>Sat, 12 Sep 2009 15:05:13 GMT</pubDate></item><item><title>Smithy - 2009-09-12 10:22:59</title><link>http://www.mikeash.com/?page=pyblog/gcd-is-not-blocks-blocks-are-not-gcd.html#comments</link><description>Thanks for the great series of articles on GCD.
&lt;br /&gt;
&lt;br /&gt;I know I need to read through again as I still quite new to OSX programming but a couple of questions. 
&lt;br /&gt;How does GCD and Blocks fit with Cocoa? For example are  NSOperation and NSOperationQueue using GCD under the hood?  
&lt;br /&gt;Which new cocoa Block api are you referring to? 
&lt;br /&gt;</description><guid isPermaLink="true">99b688ecb8343faa7d0ba04b5a65f205</guid><pubDate>Sat, 12 Sep 2009 10:22:59 GMT</pubDate></item><item><title>Ahruman - 2009-09-11 21:50:27</title><link>http://www.mikeash.com/?page=pyblog/gcd-is-not-blocks-blocks-are-not-gcd.html#comments</link><description>My understanding is that the “standard” Clang blocks runtime (compiler-rt) currently works under Mac OS X and Windows. The new/in-development &amp;lt;a href="&lt;a href="http://etoileos.com/news/archive/2009/09/10/1744/"&gt;http://etoileos.com/news/archive/2009/09/10/1744/&lt;/a&gt;"&amp;gt;GNUstep Objective-C runtime&amp;lt;/a&amp;gt; (distinct from the GNU runtime) has its own implementation of blocks.
&lt;br /&gt;
&lt;br /&gt;Interestingly, David Chisnall of GNUstep/Étoilé is a significant driving force in Clang’s Objective-C support, and he’s pushing for &amp;lt;a href="&lt;a href="http://lists.cs.uiuc.edu/pipermail/cfe-dev/2009-September/006378.html"&gt;http://lists.cs.uiuc.edu/pipermail/cfe-dev/2009-September/006378.html&lt;/a&gt;"&amp;gt;improvements&amp;lt;/a&amp;gt; to blocks such as runtime type introspection (a glaring omission which I’m glad to see being addressed).</description><guid isPermaLink="true">5efb74fd00ff7366d1243c9d7f7bff2a</guid><pubDate>Fri, 11 Sep 2009 21:50:27 GMT</pubDate></item></channel></rss>
