Sobes.tech
Intern

Co je to synchronní úkol?

sobes.tech AI

Odpověď od AI

Synchronní úkol je úkol, jehož provádění blokuje aktuální vlákno až do jeho dokončení. Dokud synchronní úkol neskončí, hlavní vlákno nem může pokračovat.

Příklady použití v iOS vývoji:

  • Čtení souboru z disku na hlavním vlákně.
  • Vykonání síťového požadavku pomocí URLSession.shared.dataTask(with:url) bez použití handleru dokončení na jiném vlákně.

Důsledky používání synchronních úkolů na hlavním vlákně:

  • Uživatelské rozhraní se stává neodpovídajícím ("zamrzá").
  • Je možné, že se aktivuje watchdog timer a aplikace spadne, pokud úkol trvá příliš dlouho.

Pro provádění potenciálně dlouhých operací je vhodnější používat asynchronní úkoly, aby nedocházelo k blokování hlavního vlákna a zachovala se odezva aplikace.