Интернет магазин китайских планшетных компьютеров



Компьютеры - Grand Central Dispatch

13 мая 2011


Оглавление:
1. Grand Central Dispatch
2. Особенности платформы
3. Примеры



Grand Central Dispatch, намек на название центрального вокзала в Нью-Йорке Grand Central Terminal, технология Apple предназначенная для создания приложений, использующих преимущества многоядерных процессоров и других SMP-систем. Эта технология является реализацией параллелизма задач и основана на шаблоне проектирования «Пул потоков». GCD впервые была представлена в Mac OS X 10.6. Исходные коды библиотеки libdispatch, реализующей сервисы GCD, были выпущены под лицензией Apache 10 сентября 2009 г.. Впоследствии библиотека была портирована на другую операционную систему FreeBSD .

GCD позволяет определять задачи в приложении, которые могут параллельно выполняться, и запускает их при наличии свободных вычислительных ресурсов.

Задача может быть определена как функция, либо как «блок». Блок — это нестандартное расширение синтаксиса языков программирования C/C++/Objective-C, позволяющее инкапсулировать код и данные в один объект, аналог замыкания.

Grand Central Dispatch использует потоки на низком уровне, но скрывает детали реализации от программиста. Задачи GCD легковесны, недороги в создании и переключении; Apple утверждает, что добавление задачи в очередь требует лишь 15 процессорных инструкций, в то время как создание традиционного потока обходится в несколько сотен инструкций.

Задача GCD может быть использована для создания рабочего элемента, который помещается в очередь задач, либо может быть привязана к источнику события. Во втором случае при срабатывании события задача добавляется в соответствующую очередь. Apple утверждает, что этот вариант более эффективен, нежели создавать отдельный поток, ожидающий срабатывание события.



Просмотров: 2594


<<< Grab
HFS Plus >>>