Zum Inhalt springen

Grand Central Dispatch

aus Wikipedia, der freien Enzyklopädie
Dies ist die aktuelle Version dieser Seite, zuletzt bearbeitet am 5. Dezember 2025 um 16:48 Uhr durch imported>SchlurcherBot (Bot: http → https).
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)
Grand Central Dispatch

[[Datei:Lua-Fehler in Modul:Wikidata, Zeile 1686: attempt to index field 'wikibase' (a nil value)|150px]]
Basisdaten

Hauptentwickler Apple Inc.
Entwickler Apple Inc.
Erscheinungsjahr Lua-Fehler in Modul:Wikidata, Zeile 1686: attempt to index field 'wikibase' (a nil value)
Aktuelle Version 1.0
(11. September 2009)
Aktuelle Vorabversion Lua-Fehler in Modul:Wikidata, Zeile 1686: attempt to index field 'wikibase' (a nil value)
(Lua-Fehler in Modul:Wikidata, Zeile 1686: attempt to index field 'wikibase' (a nil value))
Betriebssystem macOS, iOS, tvOS, watchOS, Unix
Programmier­sprache Lua-Fehler in Modul:Wikidata, Zeile 1686: attempt to index field 'wikibase' (a nil value)
Lizenz Apache-Lizenz 2.0
deutschsprachig ja
libdispatch.macosforge.org

Grand Central Dispatch (GCD) ist eine Softwaretechnologie und eine Programmierschnittstelle, die von Dave Zarzycki beim Unternehmen Apple entwickelt wurde, um die Unterstützung von mehreren Hauptprozessoren bzw. Prozessorkernen durch Abstraktion zu verbessern.<ref>Apple zeigt Entwicklern Mac OS X Snow Leopard, 9. Juni, 2008, englisch</ref> Der Quelltext für die Einbindung von Grand-Central-Dispatch-Diensten, libdispatch, wurde am 10. September 2009 von Apple offengelegt.<ref>Libdispatch veröffentlicht 10. September 2009, englischsprachig</ref>

Grand Central Dispatch wurde ursprünglich entworfen, um Softwareentwicklern unter macOS (ehemals „Mac OS X“), beginnend mit Mac OS X Snow Leopard (10.6, 2009), die Nutzung von mehreren Prozessorkernen zu erleichtern. Dies war nur ein logischer Schritt, nachdem zum Zeitpunkt der Einführung nahezu jeder Apple-Computer mit Mehrkernprozessor vertrieben wurde. Die Grundkonzeption der Technologie ist es, einzelne, zu verarbeitende Aufgaben (Tasks) zu definieren, die dann von GCD verwaltet und auf die verfügbaren Prozessoren verteilt werden. Daraus ergeben sich als Vorteile, dass sich Entwickler für die Implementierung von einfachen parallelen Aufgaben nicht mit den Details von Multithreading auskennen müssen, sowie dass Grand Central Dispatch unabhängig von der Anzahl der Prozessorkerne arbeitet – damit wird der Programmieraufwand für die Entwickler erheblich reduziert.<ref><templatestyles src="Webarchiv/styles.css" />WWDC 2008: Neues in Mac OS X Snow Leopard (Memento des Vorlage:IconExternal vom 17. Oktober 2008 im Internet Archive)  Info: Der Archivlink wurde automatisch eingesetzt und noch nicht geprüft. Bitte prüfe Original- und Archivlink gemäß Anleitung und entferne dann diesen Hinweis.@1@2Vorlage:Webachiv/IABot/www.roughlydrafted.com, 18. Juni 2008, englisch</ref>

Grand Central Dispatch beruht auf den gleichen Prinzipien wie auch Microsofts Task Parallel Library für das .Net-Framework, Suns Concurrency API für Java und Intels Threading Building Blocks.

Portierung auf andere Betriebssysteme

Am 26. September 2009 wurde die Verfügbarkeit von libdispatch unter FreeBSD 8.1 bekanntgegeben.<ref><templatestyles src="Webarchiv/styles.css" />GCD libdispatch w/Blocks support working on FreeBSD (Memento des Vorlage:IconExternal vom 27. Juli 2011 im Internet Archive)  Info: Der Archivlink wurde automatisch eingesetzt und noch nicht geprüft. Bitte prüfe Original- und Archivlink gemäß Anleitung und entferne dann diesen Hinweis.@1@2Vorlage:Webachiv/IABot/lists.macosforge.org, 26. September 2009, englisch</ref> Auch MidnightBSD 0.3-CURRENT beinhaltet libdispatch.<ref>libdispatch, 14. August 2010, englisch</ref>

Der aktuelle Quelltext des libdispatch-Projektes kompiliert und funktioniert auch unter Linux. Er wurde der Debian-Distribution bereits als Paket vorgeschlagen.<ref><templatestyles src="Webarchiv/styles.css" />libdispatch mailing list: "Porting status" (Memento des Vorlage:IconExternal vom 11. Juli 2011 im Internet Archive)  Info: Der Archivlink wurde automatisch eingesetzt und noch nicht geprüft. Bitte prüfe Original- und Archivlink gemäß Anleitung und entferne dann diesen Hinweis.@1@2Vorlage:Webachiv/IABot/lists.macosforge.org 10. April 2011, englisch</ref><ref>Paket: libdispatch0</ref>

Windows wird von zwei Forks unterstützt, die auf opensource.mlba-team.de und Github zu finden sind.<ref><templatestyles src="Webarchiv/styles.css" />libdispatch mailing list: "libdispatch for Win32" (Memento des Vorlage:IconExternal vom 20. August 2011 im Internet Archive)  Info: Der Archivlink wurde automatisch eingesetzt und noch nicht geprüft. Bitte prüfe Original- und Archivlink gemäß Anleitung und entferne dann diesen Hinweis.@1@2Vorlage:Webachiv/IABot/lists.macosforge.org 22. April 2011, englisch</ref><ref><templatestyles src="Webarchiv/styles.css" />libdispatch mailing list: "Updates regarding the status of libdispatch on Windows" (Memento des Vorlage:IconExternal vom 20. August 2011 im Internet Archive)  Info: Der Archivlink wurde automatisch eingesetzt und noch nicht geprüft. Bitte prüfe Original- und Archivlink gemäß Anleitung und entferne dann diesen Hinweis.@1@2Vorlage:Webachiv/IABot/lists.macosforge.org 5. Mai 2011, englisch</ref> Es wird angestrebt, libdispatch als ursprünglichen Bestandteil von Cocoa auch in andere Frameworks, wie etwa Qt, einzubinden.<ref>Qt Integration, 7. Mai 2013, englisch</ref>

Siehe auch

Weblinks

Einzelnachweise

<references />