Sobes.tech
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:

  1. 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.
  2. 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.
  3. 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
}