title: DispatchQueue sync block vs async block
body: <p>Assume I have the following <code>DispatchQueue</code>:</p>
  
  <pre><code>let myqueue = DispatchQueue(label: "myqueue")
  </code></pre>
  
  <p>What is the difference between <code>async</code> block and <code>sync</code> block? Can someone explain what it means?</p>
  
  <p>e.g In the main thread, in the middle execution of the main thread. What will it happen if I call <code>myqueue.async{...}</code> or <code>myqueue.sync{...}</code></p>
  
  <p>e.g</p>
  
  <pre><code>override func viewDidLoad() {
      super.viewDidLoad()
  
      myqueue.async{...}
  
      myqueue.sync{...}
  }
  </code></pre>