Junior — Middle
Milyen típusú sorok érhetők el a GCD-ben, és hogyan különböznek viselkedésükben és használatukban?
sobes.tech MI
Válasz az MI-től
A GCD-ben a következő típusú sorok érhetők el:
-
Soros sorok (Serial Queues)
- Feladatokat egymás után, sorban hajtanak végre.
- Erőforrás-hozzáférés szinkronizálására és versenyhelyzetek elkerülésére használják.
- Egyedi sorokat lehet létrehozni.
-
Párhuzamos sorok (Concurrent Queues)
- Több feladatot futtatnak egyidejűleg.
- Globális párhuzamos sorok léteznek különböző prioritásokkal (QoS).
- Hatékonyan kihasználják a többprocesszoros rendszereket.
-
Fő sor (Main Queue)
- Egy sor, amely a fő szálhoz van kötve.
- UI frissítésére és más műveletekre használják, amelyek a fő szálon kell végrehajtódjanak.
Különbségek és használat:
- A sorok garantálják a végrehajtás sorrendjét és megakadályozzák a közös erőforrások egyidejű hozzáférését.
- A párhuzamos sorok növelik a teljesítményt a feladatok egyidejű végrehajtásával.
- A fő sor kötelező az iOS UI-val való munkához.
Példa egy sor létrehozására és használatára:
let serialQueue = DispatchQueue(label: "com.example.serial")
serialQueue.async {
// Feladat 1
}
serialQueue.async {
// Feladat 2, amely a Feladat 1 után fog végrehajtódni
}