Можно ли создать веб-фреймворк наподобие Node.js (в смысле неблокирующего асинхронного режима) с помощью API-интерфейса dispatch_* Grand Central Dispatch? Поскольку GCD, наряду с llvm и clang, имеет открытый исходный код и был или портируется как для BSD, так и для Linux, я представляю, возможно ли вообще создать такую структуру с нуля.
Веб-фреймворк на основе Grand Central Dispatch (GCD)?
comment
Я бы хотел это увидеть. В отличие от node.js, фреймворк, основанный на GCD, автоматически выигрывает от множества ядер.
- person Tobias Kräntzer   schedule 28.03.2012
Ответы (1)
Абсолютно. На самом деле, создание таких фреймворков более высокого уровня (которые реализуют асинхронные сетевые сервисы или полноценные веб-фреймворки) было одной из первоначальных целей разработки GCD. GCD предоставляет «сантехнику», и вы разрабатываете API более высокого уровня, которые скрывают очереди как детали реализации; все, что вам действительно нужно, — это API-интерфейсы, принимающие блоки, при условии, что блоки также хорошо отображаются в API, который вы имеете в виду (в противном случае кортежи функций ptr/context вполне приемлемы).
person
jkh
schedule
08.02.2012