Multi-threaded operations

func add(_ a: Int, _ b: Int) -> Int {
    sleep(3)
    return a + b
}

let queue = DispatchQueue.global(
    qos: DispatchQoS.QoSClass.background)

queue.async {
    let result = add(35)
    print("result: \(result)")
}

print("main thread")

//printed:
//main thread
//result: 8