Difference between DispatchQueue.main.async and DispatchQueue.main.sync Difference between DispatchQueue.main.async and DispatchQueue.main.sync multithreading multithreading