Нужно ли отслеживать статус задачи в DispatchWorkItem?

Отслеживать статус задачи в DispatchWorkItem не всегда обязательно, но в ряде случаев это полезно.

Короткий ответ

Что ответить на собеседовании

Отслеживать статус задачи в DispatchWorkItem не всегда обязательно, но в ряде случаев это полезно. DispatchWorkItem предоставляет свойство isCancelled, которое позволяет проверить, была ли задача отменена, а также метод notify(queue:execute:) для получения уведомления о завершении.

Подробный разбор

Ответ с пояснениями

Отслеживать статус задачи в DispatchWorkItem не всегда обязательно, но в ряде случаев это полезно. DispatchWorkItem предоставляет свойство isCancelled, которое позволяет проверить, была ли задача отменена, а также метод notify(queue:execute:) для получения уведомления о завершении.

Если вам нужно управлять жизненным циклом задачи — например, отменять её или выполнять действия после завершения — стоит отслеживать статус. В простых случаях, когда задача запускается и не требует контроля, можно не отслеживать.

Пример:

let workItem = DispatchWorkItem {
    // Выполнение задачи
}

DispatchQueue.global().async(execute: workItem)

// Позже можно отменить
workItem.cancel()

// Проверить статус
if workItem.isCancelled {
    print("Задача отменена")
}

// Уведомление о завершении
workItem.notify(queue: .main) {
    print("Задача завершена")
}

ИИ-помощник для собеседований

Хочешь уверенно проходить собеседования?

Попробуй ИИ-помощник для собеседований: слышит вас и собеседника, анализирует экран, подсказывает ответы в реальном времени, работает без VPN и не попадает в захват экрана.

Подробнее