Grand Central Dispatch

Grand Central Dispatch ( GCD ) er en teknologi utviklet av Apple Inc. for å optimalisere applikasjonskjøring på flerkjernesystemer eller andre systemer basert på symmetrisk multiprosessering . [1] Dette implementerer parallellitet på trådnivå etter trådpoolmønsteret . Den første versjonen av teknologien ble inkludert i OS X Snow Leopard . Kildekoden til biblioteket som implementerer libdispatch GCD-tjenesten ble distribuert under Apache-lisensen 10. september 2009 . [2]

GCD fungerer ved å tillate programmereren å avgrense spesifikke deler av kode som kan kjøres parallelt ved å definere dem som blokker, [3] For dette formål utvider den syntaksen til programmeringsspråket C , C ++ og Objective-C [3] Å følge trådpoolmønsteret under programutførelse settes blokker i en kø og utføres så snart en prosesseringsenhet blir tilgjengelig. [3] [4]

GCD bruker tråder for å utføre blokker, men dette er helt gjennomsiktig for programmereren. Dette gjør at programmereren kan konsentrere seg om utviklingen av algoritmene uten å bry seg om trådhåndtering og synkronisering av dem. Å lage blokker er raskt og enkelt siden det kan gjøres med bare 15 instruksjoner, mens å lage en tråd uten å bruke GCD krever hundrevis av instruksjoner. [3]

En blokk opprettet med GCD kan brukes til å lage en oppgave som skal settes i kø for utførelse, eller den kan tilordnes en hendelseskilde. Hvis en blokk er tilordnet en hendelseskilde når hendelsen inntreffer, aktiveres blokken og plasseres i en utførelseskø. Denne driftsmodusen er definert av Apple som mer effektiv enn å lage en tråd som må vente på at en hendelse skal oppstå.

Apple har lagt til lambda-uttrykkshåndtering til C, C++ og Objective-C for å forenkle utviklingen av GCD-blokker.

Funksjoner

Forsendelsesrammeverket definerer ulike typer data og funksjoner for å manipulere dem.

Merknader

  1. ^ Apple forhåndsviser Mac OS X Snow Leopard til utviklere Arkivert 19. mars 2012 på WebCite ., 9. juni 2008.
  2. ^ Apple slipper Grand Central Dispatch som åpen kildekode , på theapplelounge.com , The Apple Lounge, 11-09-2009. Hentet 2009-09-11 .
  3. ^ a b c d Apple Technical Brief on Grand Central Dispatch . Arkivert 12. juni 2009 på Internet Archive . 9. juni 2009.
  4. ^ WWDC 2008 : Nytt i Mac OS X Snow Leopard . (åpnet 2008-06-18)

Eksterne lenker