Sobes.tech
Назад к вопросам
Junior — Middle
65

Каким образом можно отменить выполнение задачи, запланированной в GCD?

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

Ответ от нейросети

sobes.tech AI

В GCD (Grand Central Dispatch) отменить выполнение задачи можно, если использовать DispatchWorkItem. Создавая задачу через DispatchWorkItem, можно вызвать метод cancel() до её выполнения.

Пример:

let workItem = DispatchWorkItem {
    print("Выполнение задачи")
}

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

// Отмена задачи
workItem.cancel()

Важно: отмена не прерывает уже начавшуюся задачу, а лишь помечает её как отменённую. Внутри кода задачи можно проверять свойство isCancelled и корректно завершать выполнение.