Sobes.tech
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")