Junior — Middle
Puteți explica conceptul de concurență și rolul său în programare?
sobes.tech AI
Răspuns de la AI
Concurența este capacitatea unui program de a executa mai multe sarcini simultan sau de a le suprapune în timp. În programare, acest lucru este important pentru creșterea eficienței utilizării resurselor, îmbunătățirea răspunsului aplicațiilor și accelerarea procesării datelor.
Pe iOS, de exemplu, concurența ajută la executarea solicitărilor de rețea, procesarea datelor și actualizarea interfeței în paralel, fără a bloca firul principal. Pentru aceasta, se folosesc instrumente precum GCD (Grand Central Dispatch) și OperationQueue.
Exemplu de utilizare a GCD pentru o sarcină asincronă:
DispatchQueue.global(qos: .background).async {
// Sarcină lungă
let result = performHeavyCalculation()
DispatchQueue.main.async {
// Actualizare UI
self.label.text = "Rezultat: \(result)"
}
}