Sobes.tech
Intern

Čo je synchronná úloha?

sobes.tech AI

Odpoveď od AI

Synchronná úloha je úloha, ktorej vykonávanie blokuje aktuálne vlákno až do jeho ukončenia. Pokiaľ synchronná úloha nie je ukončená, hlavné vlákno nemôže pokračovať.

Príklady použitia v iOS vývoji:

  • Čítanie súboru z disku v hlavnom vlákne.
  • Vykonanie sieťovej požiadavky pomocou URLSession.shared.dataTask(with:url) bez použitia handlera ukončenia na inom vlákne.

Dôsledky používania synchronných úloh v hlavnom vlákne:

  • Užívateľské rozhranie sa stáva neodpovedajúcim ("zamŕza").
  • Je možné, že sa aktivuje watchdog timer a aplikácia spadne, ak úloha trvá príliš dlho.

Pre vykonávanie potenciálne dlhých operácií je vhodnejšie používať asynchrónne úlohy, aby sa neblokovalo hlavné vlákno a zachovala sa odozva aplikácie.