Назад к задачам
Junior — Senior
4

Какой будет вывод программы? №16

Компании, где спрашивали:

EnjoyPro
Получайте помощь с лайвкодингом в реальном времени с Sobes Copilot
Условие задачи

В Swift‑программе создаётся глобальная очередь и массив сотрудников. Затем в очередь помещаются два асинхронных блока: первый последовательно выводит имена из массива с паузой в 1 секунду, второй спустя 0.5 секунды выводит сообщение и удаляет первый элемент массива. Определите, какие строки появятся в консоли.

let queue = DispatchQueue.global()
var employees = ["Bill", "Bob", "Joe"]

queue.async {
    let count = employees.count
    for index in 0..<count {
        print(employees[index])
        Thread.sleep(forTimeInterval: 1)
    }
}

queue.async {
    Thread.sleep(forTimeInterval: 0.5)
    print("remove")
    employees.remove(at: 0)
}