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
}