1

Grand Central Dispatch の dispatch_* API の助けを借りて、Node.js のような Web フレームワーク (ノンブロッキング非同期フレンドリーという意味で) を作成することは可能ですか? GCD は llvm や clang と同様にオープン ソース化されており、BSD と Linux の両方に移植されているか、移植されているため、そのようなフレームワークをゼロから構築することさえ可能かどうかを想像しています。

4

1 に答える 1

2

絶対。実際、そのような高レベルのフレームワーク (非同期ネットワーク サービスまたは完全な Web フレームワークを実装するもの) を作成することは、GCD の当初の設計目標の 1 つでした。GCD は「配管」を提供し、実装の詳細としてキューを非表示にする高レベル API を設計します。実際に公開する必要があるのは、ブロックを取得する API だけです。ただし、ブロックも、考えている API に適切にマップされていると仮定します (そうでない場合、関数 ptr/context タプルは完全に受け入れられます)。

于 2012-02-08T06:49:17.043 に答える