Sobes.tech
Junior — Middle

O que acontece ao usar o método sync na fila global DispatchQueue em Swift?

sobes.tech IA

Resposta da IA

O método sync na fila global DispatchQueue em Swift executa o bloco de código passado de forma síncrona nesta fila. Isto significa que o thread atual aguardará a conclusão do bloco antes de continuar.

Se chamar DispatchQueue.global().sync { ... }, então:

  • O thread atual fica bloqueado até o bloco terminar.
  • O bloco é executado na fila global (thread de background).

É importante lembrar que chamar sync na mesma fila onde o código já está sendo executado pode levar a um deadlock.

Exemplo:

DispatchQueue.global().sync {
    print("Executado na fila global")
}
print("Este código será executado após o bloco")