Sobes.tech
Junior — Middle

GCDде кандай түрдөгү кезектер бар жана алар кандайча өзгөчөлөнөт жүрүм-туруму жана колдонулушу боюнча?

sobes.tech AI

AIден жооп

GCD-де төмөндөгүдөй кезектердин түрлөрү бар:

  1. Сериалдык кезектер (Serial Queues)

    • Иштерди кезектешип, биринин артынан бирин иштетет.
    • Ресурстарга кирүүнү синхрондоштуруу жана жарыш шарттарын алдын алуу үчүн колдонулат.
    • Өзгөчө сериалдык кезектер түзүүгө болот.
  2. Көп иштөөчү кезектер (Concurrent Queues)

    • Бир нече ишти бир убакта иштетет.
    • Дүйнөлүк көп иштөөчү кезектер бар, ар кандай артыкчылыктар менен (QoS).
    • Көп процессорлуу системдерди эффективдүү колдонууга мүмкүндүк берет.
  3. Негизги кезек (Main Queue)

    • Тиркеменин негизги агымына байланышкан сериалдык кезек.
    • UI жаңыртуу жана башка операциялар үчүн колдонулат, алар негизги агымда аткарылышы керек.

Аермалуу жана колдонуу:

  • Сериалдык кезектер аткаруу тартибин кепилдейт жана жалпы ресурстарга бир убакта кирүүнү алдын алат.
  • Көп иштөөчү кезектер иштин бир убакта аткарылышы аркылуу иштөө натыйжалуулугун жогорулатат.
  • iOS-та UI менен иштөө үчүн негизги кезек милдеттүү.

Сериалдык кезек түзүү жана колдонуу мисалы:

let serialQueue = DispatchQueue(label: "com.example.serial")
serialQueue.async {
    // Үргүлө 1
}
serialQueue.async {
    // Үргүлө 2, ал Үргүлө 1-ден кийин аткарылат
}