Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Dispatch Awesome

Avatar for Sam Soffes Sam Soffes
January 10, 2013

Dispatch Awesome

An overview of a few some awesome libdispatch features.

This talk was given at NSMeetup in San Francisco, California.

Avatar for Sam Soffes

Sam Soffes

January 10, 2013
Tweet

More Decks by Sam Soffes

Other Decks in Programming

Transcript

  1. dispatch_queue_t queue = dispatch_get_main_queue(); dispatch_group_t group = dispatch_group_create(); dispatch_group_async(group, queue,

    ^{ ! NSLog(@"Hello"); }); dispatch_group_async(group, queue, ^{ ! NSLog(@"World"); }); dispatch_group_notify(group, queue, ^{ ! NSLog(@"Done!"); }); dispatch_release(group);
  2. dispatch_semaphore_t s = dispatch_semaphore_create(0); dispatch_semaphore_signal(s); dispatch_async(backgroundQueue, ^{ ! dispatch_semaphore_wait(s, DISPATCH_TIME_FOREVER);

    ! dispatch_async(dispatch_get_main_queue(), ^{ NSLog(@"Animation is done!"); ! }); }); [UIView animateWithDuration:0.3 animations:block completion:^(BOOL finished) { // ... dispatch_semaphore_signal(s); }];