Junior — Middle
Co se stane při použití metody sync na globální frontě DispatchQueue ve Swiftu?
sobes.tech AI
Odpověď od AI
Metoda sync na globální frontě DispatchQueue v Swift spouští předaný blok kódu synchronně na této frontě. To znamená, že aktuální vlákno bude čekat na dokončení bloku, než bude pokračovat.
Pokud zavoláte DispatchQueue.global().sync { ... }, pak:
- Aktuální vlákno je zablokováno do dokončení bloku.
- Blok se vykoná na globální frontě (na pozadí).
Je důležité pamatovat, že volání sync na téže frontě, na které již běží kód, může vést k deadlocku.
Příklad:
DispatchQueue.global().sync {
print("Běží na globální frontě")
}
print("Tento kód poběží po bloku")