Sobes.tech
Junior — Middle

Môžeš uviesť hlavné primitívy používané v GCD (Grand Central Dispatch)?

sobes.tech AI

Odpoveď od AI

Hlavné primitívy v Grand Central Dispatch (GCD) sú:

  • Dispatchové fronty (Dispatch Queues): umožňujú spúšťanie úloh asynchrónne alebo synchronizovane. Existujú sekvenčné (serial) a paralelné (concurrent) fronty.
  • Dispatchové skupiny (Dispatch Groups): umožňujú skupinovať viacero úloh a dostávať oznámenie, keď sú všetky dokončené.
  • Dispatchové semafory (Dispatch Semaphores): slúžia na riadenie prístupu k zdrojom, obmedzovaním počtu úloh, ktoré môžu bežať súčasne.
  • Dispatchové pracovné položky (Dispatch Work Items): objekty, ktoré kapsulujú bloky kódu, ktoré je možné spustiť, zrušiť alebo na ne čakať.
  • Dispatchové zdroje (Dispatch Sources): umožňujú reagovať na systémové udalosti, ako sú časovače, zmeny súborov atď.

Príklad vytvorenia a použitia sekvenčnej fronty:

let serialQueue = DispatchQueue(label: "com.example.serialQueue")
serialQueue.async {
    print("Vykonávanie úlohy v sekvenčnej fronte")
}