Thanks all for the replies!

rc



On Jul 19, 2012, at 11:41 PM, Fritz Anderson wrote:

> On 19 Jul 2012, at 1:47 AM, Rick C. wrote:
> 
>> If I use this to initiate a background "thread":
>> 
>> 
>> dispatch_async(dispatch_get_global_queue(0, 0), ^{
>> 
>> // do some stuff
>> 
>> [self runMyFunction];
>> 
>> [self runAnotherFunction];
>> 
>> // do some more stuff
>> 
>> });
>> 
>> 
>> My question is with my sample calling runMyFunction or runAnotherFunction 
>> are they blocking? Meaning will they block the background "thread" until 
>> they are complete and then it will continue? Or must I put them into another 
>> kind of block so that they finish FIFO?  Thanks just looking for a 
>> confirmation as I'm moving to GCD from threads...
> 
> Grand Central Dispatch and blocks are orthogonal; GCD uses blocks as its unit 
> of work, but does nothing special to them internally. A block is an anonymous 
> (Objective-) C function. It executes from top to bottom, and if it calls a 
> function/method in the middle, the execution path goes into the function, and 
> when the function returns, execution proceeds in the block from there — just 
> like any other function. For that reason, you don't have to serialize 
> -runMyFunction and -runAnotherFunction; they get run one after the other as 
> in any other code.
> 
>       — F
> 
> -- 
> Fritz Anderson -- Xcode 4 Unleashed: Now in stores! -- 
> <http://x4u.manoverboard.org/>
> 


_______________________________________________

Cocoa-dev mailing list (Cocoa-dev@lists.apple.com)

Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com

Help/Unsubscribe/Update your Subscription:
https://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com

This email sent to arch...@mail-archive.com

Reply via email to