title: Can invoking iOS main thread operation from background queue interrupt a method call?
body: <p>Lets say I have a background queue that just finished, and at the end it will do some stuff on the main thread:</p>
  
  <pre><code>-(void) backgroundThreadFunction {
       //Some stuff on background thread. 
       dispatch_async(dispatch_get_main_queue(), ^{
           [self doSomeNetworkStuff];
       });
  }
  </code></pre>
  
  <p>Lets say in the main thread, there is already a method currently running:</p>
  
  <pre><code>-(void)myMainMethod{
       //Running some tasks.
  }
  </code></pre>
  
  <p>Does iOS wait till myMainMethod to complete before allowing doSomeNetworkStuff() to run? Or does it allow it to interrupt?</p>