Grand Central Dispatch (original) (raw)
Grand Central Dispatch (GCD) es una tecnología desarrollada por Apple en Mac OS X v10.6 para optimizar el soporte de las aplicaciones para procesadores de varios núcleos. Este conjunto de innovadoras tecnologías permite a los desarrolladores crear con mayor facilidad programas que exprimen hasta la última gota de potencia de los sistemas multinúcleo. Con GCD, es el sistema operativo el que gestiona los hilos de ejecución, no las diferentes aplicaciones. Los programas compatibles con GCD distribuyen su trabajo automáticamente en todos los núcleos disponibles, lo que se traduce en un rendimiento extraordinario. Cuando los desarrolladores comiencen a utilizar GCD en sus aplicaciones, se empezará a disfrutar de notables mejoras de rendimiento.
Property | Value |
---|---|
dbo:abstract | 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. Der Quelltext für die Einbindung von Grand-Central-Dispatch-Diensten, libdispatch, wurde am 10. September 2009 von Apple offengelegt. 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. 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. (de) Grand Central Dispatch (GCD) es una tecnología desarrollada por Apple en Mac OS X v10.6 para optimizar el soporte de las aplicaciones para procesadores de varios núcleos. Este conjunto de innovadoras tecnologías permite a los desarrolladores crear con mayor facilidad programas que exprimen hasta la última gota de potencia de los sistemas multinúcleo. Con GCD, es el sistema operativo el que gestiona los hilos de ejecución, no las diferentes aplicaciones. Los programas compatibles con GCD distribuyen su trabajo automáticamente en todos los núcleos disponibles, lo que se traduce en un rendimiento extraordinario. Cuando los desarrolladores comiencen a utilizar GCD en sus aplicaciones, se empezará a disfrutar de notables mejoras de rendimiento. (es) Grand Central Dispatch (GCD or libdispatch), is a technology developed by Apple Inc. to optimize application support for systems with multi-core processors and other symmetric multiprocessing systems. It is an implementation of task parallelism based on the thread pool pattern. The fundamental idea is to move the management of the thread pool out of the hands of the developer, and closer to the operating system. The developer injects "work packages" into the pool oblivious of the pool's architecture. This model improves simplicity, portability and performance. GCD was first released with Mac OS X 10.6, and is also available with iOS 4 and above. The name "Grand Central Dispatch" is a reference to Grand Central Terminal. The source code for the library that provides the implementation of GCD's services, libdispatch, was released by Apple under the Apache License on September 10, 2009. It has been ported to FreeBSD 8.1+, MidnightBSD 0.3+, Linux, and Solaris. Attempts in 2011 to make libdispatch work on Windows were not merged into upstream. Apple has its own port of libdispatch.dll for Windows shipped with Safari and iTunes, but no SDK is provided. Since around 2017, the original libdispatch repository hosted by Nick Hutchinson was deprecated in favor of a version that is part of the Swift core library created in June 2016. The new version supports more platforms, notably including Windows. (en) Grand Central Dispatch (GCD) Applek Mac OS X v10.6n prozesagailu aplikazioen euskarria optimizatzeko garatu duen teknologia bat da. Teknologia berritzaile multzo honek garatzaileei sistema nukleoanitzen potentzia guztia zukutzen duten programak errazago sortzea ahalbidetzen die. GCDrekin, sistema eragilea da kudeatzen dituena, ez aplikazio ezberdinak. GCDrekin bateragarriak diren programek euren lana automatikoki banatzen dute nukleo guztien artean, errendimiendu bikaina lortuz. Garatzaileak euren aplikazioetan GCDa erabiltzen hasten direnean errendimendu hobekuntza nabarmenak izango dira. (eu) Grand Central Dispatch est une technologie développée par Apple pour optimiser la prise en charge des processeurs multi-cœurs depuis Mac OS X 10.6 et iOS 4. Cette nouvelle architecture est conçue pour permettre aux développeurs d'utiliser le potentiel des processeurs multi-cœurs. Elle travaille en distribuant efficacement les processus aux différents cœurs. Le 11 septembre 2009, Apple a ouvert le code de Grand Central Dispatch aux contributeurs externes sous le nom de libdispatch. Depuis, il a été annoncé que FreeBSD 8.1 prendra en charge libdispatch, ce qui laisse à penser que cette technologie pourrait être appliquée à d'autres environnements libres. (fr) Grand Central Dispatch – technologia opracowana przez firmę Apple, której celem jest zwiększenie wsparcia dla aplikacji 64-bitowych działających w systemie Mac OS X 10.6 (Snow Leopard) na wielordzeniowych procesorach. Architektura ta została zaprojektowana w taki sposób, aby programiści mieli możliwość łatwego wykorzystania wielordzeniowych procesorów oferowanych obecnie na rynku. Możliwe jest to dzięki podziałowi zadań na bloki, które system operacyjny kieruje do niezajętych rdzeni procesora. GCD dynamicznie przyznaje odpowiednią liczbę „bloków” – zależnie od potrzeb – pośród wszystkich dostępnych rdzeni. Grand Central Dispatch dba o to, aby każdy program nie miał przyznanej większej mocy obliczeniowej, niż potrzebuje w danej chwili. (pl) Grand Central Dispatch (GCD) è una tecnologia sviluppata da Apple Inc. per ottimizzare l'esecuzione delle applicazioni su sistemi multi core o su altri sistema basati sul multiprocessing simmetrico. Questa implementa un parallelismo a livello di thread seguendo il . La prima versione della tecnologia è stata inclusa all'interno del OS X Snow Leopard. Il codice sorgente della libreria che implementa il servizio GCD libdispatch è stata distribuita con la licenza Apache License il 10 settembre 2009. Funzionamento del thread pool pattern. GCD lavora consentendo al programmatore di delimitare specifiche porzioni di codice che possono essere eseguite in parallelo definendole come blocchi, A tal fine estende la sintassi del linguaggio di programmazione C, C++ e Objective-C Seguendo il pattern thread pool durante l'esecuzione del programma i blocchi vengono messi in una coda e vengono eseguiti appena una unità di elaborazione si rende disponibile. GCD per eseguire i blocchi utilizza i thread ma al programmatore la cosa è totalmente trasparente. Questo permette al programmatore di concentrarsi sullo sviluppo degli algoritmi disinteressandosi della gestione del thread e della loro sincronizzazione. La creazione dei blocchi è un'operazione semplice e veloce dato che può essere svolta con sole 15 istruzioni, mentre la creazione di un thread senza l'utilizzo di GCD richiede centinaia di istruzioni. Un blocco creato con GCD può essere utilizzato per creare un'attività da mettere in una coda d'esecuzione o può essere assegnato a una sorgente di eventi. Se un blocco è assegnato a una sorgente d'eventi quando si verifica l'evento il blocco viene attivato e messo in una coda d'esecuzione. Questa modalità di funzionamento è definita da Apple come più efficiente rispetto alla creazione di un thread che deve attendere il verificarsi di un evento. Apple ha aggiunto la gestione delle espressioni lambda al C, C++ e Objective-C al fine di semplificare lo sviluppo di blocchi per GCD. (it) Grand Central Dispatch (GCD) - технология Apple, предназначенная для создания приложений, использующих преимущества многоядерных процессоров и других SMP-систем. Эта технология является реализацией параллелизма задач и основана на шаблоне проектирования «Пул потоков». GCD впервые была представлена в Mac OS X 10.6. Исходные коды библиотеки libdispatch, реализующей сервисы GCD, были выпущены под лицензией Apache 10 сентября 2009 г.[1] Архивная копия от 2 ноября 2009 на Wayback Machine. Впоследствии библиотека была портирована на другую операционную систему FreeBSD . GCD позволяет определять задачи в приложении, которые могут параллельно выполняться, и запускает их при наличии свободных вычислительных ресурсов (процессорных ядер). Задача может быть определена как функция либо как «блок». Блок — это нестандартное расширение синтаксиса языков программирования C/C++/Objective-C, позволяющее инкапсулировать код и данные в один объект, аналог замыкания. Grand Central Dispatch использует потоки на низком уровне, но скрывает детали реализации от программиста. Задачи GCD легковесны, недороги в создании и переключении; Apple утверждает, что добавление задачи в очередь требует лишь 15 процессорных инструкций, в то время как создание традиционного потока обходится в несколько сотен инструкций. Задача GCD может быть использована для создания рабочего элемента, который помещается в очередь задач либо может быть привязана к источнику события. Во втором случае при срабатывании события задача добавляется в соответствующую очередь. Apple утверждает, что этот вариант более эффективен, нежели создавать отдельный поток, ожидающий срабатывания события. (ru) |
dbo:developer | dbr:Apple_Inc. |
dbo:genre | dbr:Software_utility |
dbo:license | dbr:Apache_License_2.0 |
dbo:thumbnail | wiki-commons:Special:FilePath/Gcd_icon20090608.jpg?width=300 |
dbo:wikiPageExternalLink | https://apple.github.io/swift-corelibs-libdispatch/ https://web.archive.org/web/20130504142911/http:/developer.apple.com/library/mac/%23featuredarticles/BlocksGCD/_index.html https://developer.apple.com/documentation/dispatch |
dbo:wikiPageID | 17901978 (xsd:integer) |
dbo:wikiPageLength | 15973 (xsd:nonNegativeInteger) |
dbo:wikiPageRevisionID | 1115628414 (xsd:integer) |
dbo:wikiPageWikiLink | dbr:Robert_Watson_(computer_scientist) dbr:Mac_OS_X_10.6 dbc:MacOS dbr:Task_parallelism dbr:Closure_(computer_science) dbr:FreeBSD dbr:GUI dbr:Grand_Central_Terminal dbr:Anonymous_function dbr:Apache_HTTP_Server dbr:Apache_License dbr:Apple_Inc. dbr:Mac_OS_X dbr:Subroutine dbr:Thread_pool_pattern dbr:Task_(computing) dbr:C++ dbr:C_(programming_language) dbr:Threading_Building_Blocks dbr:File:Gcd_icon20090608.jpg dbr:Lock_(computer_science) dbr:Task_Parallel_Library dbr:Ars_Technica dbc:Parallel_computing dbr:Blocks_(C_language_extension) dbr:Swift_(programming_language) dbr:Spinning_pinwheel dbr:File_descriptor dbr:IOS_(Apple) dbr:MidnightBSD dbr:Objective-C dbr:OpenMP dbr:Software_development_kit dbr:Unix_domain_socket dbr:Scheduling_(computing) dbr:Symmetric_multiprocessing dbr:Apache_License_2.0 dbr:Java_Concurrency dbr:Software_utility dbr:Signal_(computing) dbr:Multi-core_(computing) |
dbp:author | Dave Zarzycki (en) |
dbp:developer | dbr:Apple_Inc. |
dbp:genre | dbr:Software_utility |
dbp:license | dbr:Apache_License_2.0 |
dbp:logo | dbr:File:Gcd_icon20090608.jpg |
dbp:operatingSystem | Mac OS X 10.6 and later, iOS 4.0 and later, watchOS, tvOS, FreeBSD (en) |
dbp:website | https://apple.github.io/swift-corelibs-libdispatch/ |
dbp:wikiPageUsesTemplate | dbt:Citation_needed dbt:Cleanup_bare_URLs dbt:Infobox_software dbt:Primary_sources dbt:Reflist dbt:Short_description dbt:Use_mdy_dates dbt:Manual dbt:Mac_OS_X |
dct:subject | dbc:MacOS dbc:Parallel_computing |
gold:hypernym | dbr:Technology |
rdf:type | owl:Thing dbo:Company dbo:Software schema:CreativeWork dbo:Work wikidata:Q386724 wikidata:Q7397 yago:Abstraction100002137 yago:Code106355894 yago:CodingSystem106353757 yago:Communication100033020 yago:Writing106359877 yago:WrittenCommunication106349220 yago:Software106566077 |
rdfs:comment | Grand Central Dispatch (GCD) es una tecnología desarrollada por Apple en Mac OS X v10.6 para optimizar el soporte de las aplicaciones para procesadores de varios núcleos. Este conjunto de innovadoras tecnologías permite a los desarrolladores crear con mayor facilidad programas que exprimen hasta la última gota de potencia de los sistemas multinúcleo. Con GCD, es el sistema operativo el que gestiona los hilos de ejecución, no las diferentes aplicaciones. Los programas compatibles con GCD distribuyen su trabajo automáticamente en todos los núcleos disponibles, lo que se traduce en un rendimiento extraordinario. Cuando los desarrolladores comiencen a utilizar GCD en sus aplicaciones, se empezará a disfrutar de notables mejoras de rendimiento. (es) Grand Central Dispatch (GCD) Applek Mac OS X v10.6n prozesagailu aplikazioen euskarria optimizatzeko garatu duen teknologia bat da. Teknologia berritzaile multzo honek garatzaileei sistema nukleoanitzen potentzia guztia zukutzen duten programak errazago sortzea ahalbidetzen die. GCDrekin, sistema eragilea da kudeatzen dituena, ez aplikazio ezberdinak. GCDrekin bateragarriak diren programek euren lana automatikoki banatzen dute nukleo guztien artean, errendimiendu bikaina lortuz. Garatzaileak euren aplikazioetan GCDa erabiltzen hasten direnean errendimendu hobekuntza nabarmenak izango dira. (eu) Grand Central Dispatch (GCD or libdispatch), is a technology developed by Apple Inc. to optimize application support for systems with multi-core processors and other symmetric multiprocessing systems. It is an implementation of task parallelism based on the thread pool pattern. The fundamental idea is to move the management of the thread pool out of the hands of the developer, and closer to the operating system. The developer injects "work packages" into the pool oblivious of the pool's architecture. This model improves simplicity, portability and performance. (en) 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. Der Quelltext für die Einbindung von Grand-Central-Dispatch-Diensten, libdispatch, wurde am 10. September 2009 von Apple offengelegt. 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. (de) Grand Central Dispatch est une technologie développée par Apple pour optimiser la prise en charge des processeurs multi-cœurs depuis Mac OS X 10.6 et iOS 4. Cette nouvelle architecture est conçue pour permettre aux développeurs d'utiliser le potentiel des processeurs multi-cœurs. Elle travaille en distribuant efficacement les processus aux différents cœurs. (fr) Grand Central Dispatch (GCD) è una tecnologia sviluppata da Apple Inc. per ottimizzare l'esecuzione delle applicazioni su sistemi multi core o su altri sistema basati sul multiprocessing simmetrico. Questa implementa un parallelismo a livello di thread seguendo il . La prima versione della tecnologia è stata inclusa all'interno del OS X Snow Leopard. Il codice sorgente della libreria che implementa il servizio GCD libdispatch è stata distribuita con la licenza Apache License il 10 settembre 2009. Funzionamento del thread pool pattern. (it) Grand Central Dispatch – technologia opracowana przez firmę Apple, której celem jest zwiększenie wsparcia dla aplikacji 64-bitowych działających w systemie Mac OS X 10.6 (Snow Leopard) na wielordzeniowych procesorach. (pl) Grand Central Dispatch (GCD) - технология Apple, предназначенная для создания приложений, использующих преимущества многоядерных процессоров и других SMP-систем. Эта технология является реализацией параллелизма задач и основана на шаблоне проектирования «Пул потоков». GCD впервые была представлена в Mac OS X 10.6. Исходные коды библиотеки libdispatch, реализующей сервисы GCD, были выпущены под лицензией Apache 10 сентября 2009 г.[1] Архивная копия от 2 ноября 2009 на Wayback Machine. Впоследствии библиотека была портирована на другую операционную систему FreeBSD . (ru) |
rdfs:label | Grand Central Dispatch (de) Grand Central Dispatch (es) Grand Central Dispatch (eu) Grand Central Dispatch (en) Grand Central Dispatch (fr) Grand Central Dispatch (it) Grand Central Dispatch (pl) Grand Central Dispatch (ru) |
owl:sameAs | freebase:Grand Central Dispatch wikidata:Grand Central Dispatch dbpedia-de:Grand Central Dispatch dbpedia-es:Grand Central Dispatch dbpedia-eu:Grand Central Dispatch dbpedia-fr:Grand Central Dispatch dbpedia-it:Grand Central Dispatch dbpedia-kk:Grand Central Dispatch dbpedia-pl:Grand Central Dispatch dbpedia-ru:Grand Central Dispatch https://global.dbpedia.org/id/YLWe |
prov:wasDerivedFrom | wikipedia-en:Grand_Central_Dispatch?oldid=1115628414&ns=0 |
foaf:depiction | wiki-commons:Special:FilePath/Gcd_icon20090608.jpg |
foaf:homepage | https://apple.github.io/swift-corelibs-libdispatch/ |
foaf:isPrimaryTopicOf | wikipedia-en:Grand_Central_Dispatch |
is dbo:wikiPageDisambiguates of | dbr:GCD dbr:Grand_Central |
is dbo:wikiPageRedirects of | dbr:Grand_central_dispatch dbr:Libdispatch dbr:Grand_Central_(computing) dbr:Grand_Central_(technology) |
is dbo:wikiPageWikiLink of | dbr:GCD dbr:Pthreads dbr:Core_Services dbr:Task_parallelism dbr:Cilk dbr:Anonymous_function dbr:MacOS dbr:Mac_OS_X_Snow_Leopard dbr:Threading_Building_Blocks dbr:Grand_central_dispatch dbr:Affinity_Designer dbr:Affinity_Photo dbr:Final_Cut_Pro_X dbr:Grand_Central dbr:Blocks_(C_language_extension) dbr:Swift_(programming_language) dbr:Spinning_pinwheel dbr:Serif_products dbr:Thread_pool dbr:Multiprocessing_Services dbr:Parallel_Extensions dbr:Libdispatch dbr:Grand_Central_(computing) dbr:Grand_Central_(technology) |
is foaf:primaryTopic of | wikipedia-en:Grand_Central_Dispatch |