Sobes.tech
Junior — Middle
88

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

Companies where asked
OkkoOkko

Answer from AI

sobes.tech AI

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

Пример:

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

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

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

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