Middle
Grand Central Dispatch (GCD) ичинде кайсы түрдөгү кезектер бар?
sobes.tech AI
AIден жооп
GCD колдонууда төрт негизги кезек түрлөрү колдонулат:
-
Негизги кезек (Main Queue):
- Сериялык кезек.
- Колдонмонун негизги агымында тапшырмаларды аткаруу үчүн колдонулат (UI жаңыртуулары, окуяларды иштетүү).
- Ар дайым колдонмо үчүн бирөө.
-
Глобалдык атаандаштык кезектери (Global Concurrent Queues):
- Атаандаштык кезектер.
- Жүйө тарабынан камсыз кылынат.
- Кызмат көрсөтүү сапатынын (Quality of Service - QoS) ар кандай деңгээлдери бар.
- Бир нече тапшырмаларды бир убакта аткара алат.
-
Колдонуучу аныкталган сериялык кезектер (Custom Serial Queues):
- Колдонуучу тарабынан түзүлгөн сериялык кезектер.
- Тапшырмаларды кезек-кезеги менен аткарат.
- Ресурстарга кирүүнү башкаруу үчүн идеалдуу (синхрондоо).
-
Колдонуучу аныкталган атаандаштык кезектери (Custom Concurrent Queues):
- Колдонуучу тарабынан түзүлгөн атаандаштык кезектер.
- Бир нече тапшырмаларды бир убакта аткара алат.
- Атаандаштык кезектерге салыштырмалуу тапшырмаларды аткарууну жакшы контролдоого мүмкүндүк берет.
Кезектерди түзүү мисалдары:
// Негизги кезек
let mainQueue = DispatchQueue.main
// Бирөөсү глобалдык атаандаштык кезектери (жогорку артыкчылык)
let globalHighPriorityQueue = DispatchQueue.global(qos: .userInitiated)
// Колдонуучу аныкталган сериялык кезек
let customSerialQueue = DispatchQueue(label: "com.myapp.serialqueue")
// Колдонуучу аныкталган атаандаштык кезек
let customConcurrentQueue = DispatchQueue(label: "com.myapp.concurrentqueue", attributes: .concurrent)
QoS артыкчылыктары глобалдык кезектер үчүн:
| QoS артыкчылык | Түшүндүрмө |
|---|---|
.userInteractive |
Колдонуучу интерфейси менен байланышкан тапшырмалар (басымдарга жооп берүү). |
.userInitiated |
Колдонуучу тарабынан башталган тапшырмалар (мазмунду сурау боюнча жүктөө). |
.default |
Төменкү артыкчылык, .userInitiated жана .utility арасында: |
.utility |
Узакка созулган фондук тапшырмалар (файлдарды жүктөө). |
.background |
Төмен артыкчылыктагы тапшырмалар, колдонуучуга көз каранды эмес. |
.unspecified |
Жүйө артыкчылыгын аныктайт. |