Sobes.tech
Junior — Middle

O que acontece com os threads ao usar a função sync e qual thread fica bloqueado no processo?

sobes.tech IA

Resposta da IA

A função sync no contexto de multitarefa (por exemplo, no GCD no iOS) executa a tarefa de forma síncrona, ou seja, o thread que a chama fica bloqueado até que a tarefa seja concluída. Se chamar sync a partir do thread principal numa fila que também é executada no thread principal, isso levará a um deadlock, pois o thread principal aguardará a conclusão da tarefa, que não pode começar enquanto o thread principal estiver ocupado.

Assim, ao usar sync, o thread que chama fica bloqueado, e a execução do código é suspensa até que a tarefa seja concluída.