https://pinyuanchen.github.io/posts/gcd-sync-async-serial-concurrent/
GCD: Understanding Sync/Async and Serial/Concurrent Queues - PinYuanChen