Junior — Middle
Čo sa stane pri použití metódy sync na globálnej fronte DispatchQueue v Swift?
sobes.tech AI
Odpoveď od AI
Metóda sync na globálnej DispatchQueue v Swifte vykonáva odovzdaný blok kódu synchronne na tejto fronte. To znamená, že aktuálne vlákno bude čakať na dokončenie bloku pred pokračovaním.
Ak zavoláte DispatchQueue.global().sync { ... }, potom:
- Aktuálne vlákno bude zablokované do ukončenia bloku.
- Blok sa vykoná na globálnej fronte (na pozadí).
Je dôležité si uvedomiť, že volanie sync na tej istej fronte, na ktorej už kód beží, môže viesť k deadlocku.
Príklad:
DispatchQueue.global().sync {
print("Beží na globálnej fronte")
}
print("Tento kód sa vykoná po bloku")