Идея состоит в том, что любые 2 строки 1 из них
DispatchQueue.global(qos: .default).async
, вторая будет выполняться первой, поэтому
print("a")
DispatchQueue.global(qos: .default).async {
print("b")
}
print("i")
дает
a // comes first
i // printed first before queue as the queue dispatches the execution with some delay
b // printed second
Тогдазайти внутрь асинхронного и применить то же правило
DispatchQueue.global(qos: .default).async {
print("c")
DispatchQueue.global(qos: .default).async {
print("d")
}
print("g")
}
print("h")
h
c
g
d