DispatchQueue.main.async の実行される順番について
import Foundation
DispatchQueue.main.async {
print("A")
}
print("B")
上記をプレイグラウンドで試行したとろころ、毎回
B
A
と表示されました(試した回数は5回ほど)
さらに、
import Foundation
for _ in 1...10 {
DispatchQueue.main.async {
print("A")
}
print("B")
}
を試したところ出力は、
B
B
B
B
B
B
B
B
B
B
A
A
A
A
A
A
A
A
A
A
でした。
非同期で動くので、BとAが交互に出力される場合があってもおかしくない気がするのですが、なぜBが先に全部表示されるのでしょうか?