Форум Orsha-LUG
25 Апрель 2018, 03:53:48 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.

Войти
Новости: Из-за проблем со спам-ботами, автоматическая регистрация на форуме временно прекращена. Давайте общаться в Telegram: https://telegram.me/joinchat/EfXjtg4f0DrD-N6u8k2hig . Или через список рассылки: http://groups.google.ru/group/orsha-lug
 
  На сайт  Начало   Помощь Войти Регистрация  
Страниц: [1]   Вниз
  Печать  
Автор Тема: Apple выпустила диспетчер потоков Mac OS X под открытой лицензией  (Прочитано 1881 раз)
0 Пользователей и 1 Гость смотрят эту тему.
Sacren
сЭкрен
Глобальный модератор
*****

Карма: +8/-0
Офлайн Офлайн

Сообщений: 1262


Co-Founder


Просмотр профиля WWW
« : 12 Сентябрь 2009, 02:49:27 »

Одним из основных нововведений очередного релиза операционной системы Mac OS X Snow Leopard от компании Apple стала технология центральной диспетчеризации (Grand Central Dispatch), исходные коды которой выпущены под открытой лицензией Apache License v2. Библиотека не зависит от фреймворка Cocoa, написана на языке Си и должна значительно облегчить разработку программ, использующих современную многоядерную процессорную архитектуру.

Технология Grand Central Dispatch — это ответ Apple на проблему параллельного программирования. С развитием современных процессоров, содержащих на одном кристалле два и более ядра, обычный домашний компьютер технологически стал похож на многопроцессорный сервер. И чтобы использовать его вычислительный ресурс на все 100% требуется каким-то образом разделить монолитную программу на ряд параллельно исполняемых независимых «нитей» (threads). Кажущаяся простота реализации этой идеи на практике даже у самых опытных программистов сопровождается такими неприятными побочными эффектами, как мертвые блокировки (deadlocks) и состояние гонки (race conditions). Связано это с тем, что различные «нити» требуют доступа к одним и тем же ресурсам, причем, зачастую одновременно.

С появлением GCD задача управления потоками целиком перекладывается на эту технологию. Предпосылка к этому очень проста: программист на этапе написания кода просто не может знать какая самая оптимальная конфигурация многопоточности будет в момент исполнения программы. Иерархический дизайн GCD позволяет рабочим потокам обмениваться сообщениями не только с родительским процессом, но и между собой. Из соображений совместимости с предыдущими версиями Mac OS X диспетчер вынесен в отдельный модуль ядра.

Тем не менее, необходимо заметить, что Grand Central Dispatch сам по себе никак не решает проблему параллельных вычислений, оставляя выбор за разработчиком, какие участки кода и когда могут выполняться одновременно.

CTRL+Ced from: http://www.opennet.ru/opennews/art.shtml?num=23382
Записан

Хобби: быдлокод™, графомания, иногда троллить шурфа | free bydlocode here
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.18 | SMF © 2011, Simple Machines Valid XHTML 1.0! Valid CSS!