title: Understanding dispatch_async
body: <p>I have question around this code </p>
  
  <pre><code>dispatch_async(dispatch_get_global_queue( DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{
      NSData* data = [NSData dataWithContentsOfURL: 
        kLatestKivaLoansURL];
      [self performSelectorOnMainThread:@selector(fetchedData:) 
        withObject:data waitUntilDone:YES];
  });
  </code></pre>
  
  <p>The first parameter of this code is  </p>
  
  <pre><code>dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0) 
  </code></pre>
  
  <p>Are we asking this  code to  perform  serial tasks on global queue whose definition itself is that it returns global concurrent queue of a given priority level?</p>
  
  <p>What is advantage of using <code>dispatch_get_global_queue</code> over the main queue?</p>
  
  <p>I am confused. Could you please help me to understand this better.</p>