DispatchWorkItem não notificando o encadeamento principal
Nota: Esta não é uma pergunta duplicada que eu já viGrupo de expedição - não é possível notificar ao thread principal
Não há nada respondido sobreDispatchWorkItem
Eu tenho código como abaixo
let dwi3 = DispatchWorkItem {
print("start DispatchWorkItem \(Thread.isMainThread)")
sleep(2)
print("end DispatchWorkItem")
}
let myDq = DispatchQueue(label: "A custom dispatch queue")
dwi3.notify(queue: myDq) {
print("notify")
}
DispatchQueue.global().async(execute: dwi3)
O que está funcionando corretamente (posso ver notificar no console) e não no thread principalstart DispatchWorkItem false
start DispatchWorkItem false
end DispatchWorkItem
notificar
Agora estou tentando notificar o thread principal usando
dwi3.notify(queue: DispatchQueue.main) {
print("notify")
}
Mas nunca chama, eu li e descobri que, se o Thread estiver bloqueado, a situação ocorre. mas eu já estou executandoDisptachWorkItem
noDispatchQueue.global()
Por favor, alguém pode me ajudar com isso que o que realmente está acontecendo?