let queue = DispatchQueue(label: "queue", attributes: DispatchQueue.Attributes.concurrent)
print("------ 开始 -------")
queue.async {
Thread.sleep(forTimeInterval: 3)
print("------ async 1 -------")
print("------ async 1 不阻塞 -------")
queue.async {
print("------ async 2 -------")
queue.sync {
Thread.sleep(forTimeInterval: 5)
print("------ sync 1 -------")
print("------ 被 sync 1 阻塞 -------")
queue.async {
print("------ async 3 -------")
------ 开始 -------
------ async 1 不阻塞 -------
------ async 2 -------