2012-02-07 3 views
1

Можно ли создать веб-фреймворк, такой как Node.js (в смысле неблокирующего-асинхронного) с помощью диспетчера отправки Grand Central Dispatch_ * API? Поскольку GCD, наряду с llvm и clang, является открытым исходным кодом и был или портирован как на BSD, так и на Linux, я представляю, возможно ли даже создание такой структуры с нуля.Основа веб-дизайна Grand Central Dispatch (GCD)?

+0

Мне очень хотелось бы видеть это. В отличие от node.js, система, основанная на GCD, автоматически выигрывает от многих ядер. –

ответ

2

Абсолютно. На самом деле создание таких высокоуровневых инфраструктур (которые реализуют сетевые сервисы async или полнофункциональные веб-фреймворки) было одной из оригинальных целей разработки GCD. GCD предоставляет «сантехнику», и вы разрабатываете API более высокого уровня, которые скрывают очереди как детали реализации; все, что вам действительно нужно разоблачить, - это блок-абзац API, предполагающий, что блоки также хорошо отображают API, который вы имеете в виду (в противном случае функциональные кортежи ptr/context вполне приемлемы).