Junior — Middle
Meg tudná magyarázni a konkurencia fogalmát és szerepét a programozásban?
sobes.tech MI
Válasz az MI-től
A konkurencia egy program képessége több feladat egyidejű végrehajtására vagy azok időbeli átfedésére. A programozásban ez fontos a források hatékonyabb kihasználása, az alkalmazások reakcióképességének javítása és az adatok feldolgozásának felgyorsítása érdekében.
Az iOS-en például a konkurencia segít párhuzamosan végrehajtani hálózati kéréseket, adatfeldolgozást és felhasználói felület frissítéseket, anélkül, hogy blokkolná a fő szálat. Ehhez olyan eszközöket használnak, mint a GCD (Grand Central Dispatch) és az OperationQueue.
GCD használatának példája egy aszinkron feladathoz:
DispatchQueue.global(qos: .background).async {
// Hosszú feladat
let result = performHeavyCalculation()
DispatchQueue.main.async {
// UI frissítés
self.label.text = "Eredmény: \(result)"
}
}