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.