Sobes.tech
Junior — Middle

Podem ocorrer casos em que o uso de uma chamada sync na fila principal não leve a um bloqueio mútuo?

sobes.tech IA

Resposta da IA

Chamar sync na fila principal geralmente leva a um bloqueio mútuo se for chamado a partir da própria fila principal, pois ela aguardará a conclusão do bloco que não pode começar até que o atual termine. No entanto, se a chamada sync na fila principal ocorrer de outra thread (não da fila principal), não haverá bloqueio mútuo, pois a thread principal poderá executar o bloco e liberar a chamada.

Exemplo:

DispatchQueue.main.sync {
    // Este código será executado sem bloqueio mútuo se a chamada ocorrer de uma thread em segundo plano
}