Junior — Middle
Je možné implementovať vlákna vykonávania v jazyku Swift?
sobes.tech AI
Odpoveď od AI
Áno, v Swift je možné implementovať vlákna vykonávania. Na to sa používajú rôzne prístupy:
- Grand Central Dispatch (GCD) — nízkoúrové API na prácu s frontami úloh, ktoré umožňuje vykonávať kód asynchrónne a paralelne.
- Operation a OperationQueue — mechanizmus vyššej úrovne na správu úloh s možnosťou nastavovať závislosti.
- Swift Concurrency (async/await) — moderný spôsob práce s asynchrónnym kódom, zavedený v Swift 5.5.
Príklad použitia GCD:
DispatchQueue.global(qos: .background).async {
// Úloha na pozadí
print("Beží na pozadí")
DispatchQueue.main.async {
// Aktualizácia UI na hlavnom vlákne
print("Aktualizácia UI")
}
}