Junior — Middle
Czy możliwa jest implementacja wątków wykonawczych w języku Swift?
sobes.tech AI
Odpowiedź od AI
Tak, w Swift można zaimplementować wątki wykonania. Do tego używa się różnych podejść:
- Grand Central Dispatch (GCD) — niskopoziomowe API do pracy z kolejkami zadań, umożliwiające wykonywanie kodu asynchronicznie i równolegle.
- Operation i OperationQueue — wyższy poziom mechanizmu zarządzania zadaniami z możliwością ustawiania zależności.
- Swift Concurrency (async/await) — nowoczesny sposób pracy z kodem asynchronicznym, wprowadzony w Swift 5.5.
Przykład użycia GCD:
DispatchQueue.global(qos: .background).async {
// Zadanie w tle
print("Wykonywane w tle")
DispatchQueue.main.async {
// Aktualizacja UI na głównym wątku
print("Aktualizacja UI")
}
}