title: How do I synchronize access to a property that has didSet?
body: <p>How do I synchronize access of a property that uses didSet (using GCD or objc_sync_enter)?</p>
  
  <p>I have a property that has a property observer. How can I use a private queue to synchronize get/set of the property</p>
  
  <pre><code>var state: State = .disconnected {
    // Q: How to sync get/set access here?
    didSet {
      // do something
    }
  }
  </code></pre>