Sobes.tech
Junior — Senior

Determine the order of outputting lines to the console

livecode

Task condition

Question: What is the order of message printing, considering asynchronous and synchronous calls to DispatchQueue queues? Analyze the code and specify the output order.

DispatchQueue.global(qos: .userInitiated).async {
    print("1")
    DispatchQueue.main.async {
        print("2")
        DispatchQueue.main.async {
            print("3")
        }
        print("4")
        DispatchQueue.main.sync {
            print("5")
        }
        print("6")
        DispatchQueue.main.async {
            print("7")
            DispatchQueue.main.sync {
                print("8")
            }
        }
        print("9")
    }
    print("10")
}