title: What is the default thread
body: <p>In <code>iOS</code>, we have <code>GCD</code> and <code>Operation</code> to handle concurrent programming.</p>
  
  <p>looking into <code>GCD</code> we have <code>QoS</code> classes, and they're simple and straight forward, this question is about why <code>DispatchQueue.main.async</code> is commonly used to asynchronies <em>X</em> tasks in  the <code>Main Thread</code>. </p>
  
  <p>So when we usually handle updating something in the <code>UI</code> we usually use that function since to prevent any irresponsiveness from the application. </p>
  
  <p>makes me think is writing code inside the <code>UIViewController</code> usually executed in the main thread ? </p>
  
  <p>but also knowing that <code>callback &amp; completionHandler</code> usually execute without specifying on what thread they are in, and the <code>UI</code>  never had a problem with that !! so it is on the background ? </p>
  
  <p>How Swift handles this ? and what thread  am i writing on by default without specifying anything  ? </p>