title: How a several dispatch_async to execute sequentially?
body: <p>I have 2 methods:</p>
  
  <pre><code>-(void)clear
  {
    // some code
  
    dispatch_async( dispatch_get_global_queue(0,0), 
          ^{
                // async_block_1
  
           });     
  }
  
  -(void)download
  {
    // some code
  
    dispatch_async( dispatch_get_global_queue(0,0), 
          ^{
                // async_block_2
  
           });     
  }
  </code></pre>
  
  <p>And I need call'em in 3rd method:</p>
  
  <pre><code>-(void)relosd
  {
     [self clear];
     [self download];
  }
  </code></pre>
  
  <p>How I can guaranted perform first async_block_1 then async_block_2? </p>
  
  <p>Obvious that the following code does not guarantee this:</p>
  
  <pre><code>-(void)reload
  {
      dispatch_sync( dispatch_get_global_queue(0,0), 
         ^{
             [self clear];
             [self download];
         });
  }
  </code></pre>