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.