1

3 つのワーカー プログラムを作成する 1 つのプログラムがあります。私の状況での望ましい通信方法は、4 つのプログラムすべてがアクセスできるメモリ バッファを介することです。

子プロセスにポインター、参照、または任意の種類のハンドラーを渡す方法はありますか?

アップデート

3 つの子プログラムは頂点データを変換し、メイン プログラムは主に UI、システム メッセージ、エラーなどを処理します。

4 つのプログラムがコンテキストを共有できるように、OpenCL を活用する何らかの方法があることを願っています。これが不可能な場合は、すべてのプログラムで頂点の配列にアクセスできると便利です。

現在のターゲット プラットフォームは Windows だと思いますが、可能な限りクロスプラットフォームを維持したいと考えています。OpenCL を利用してこれを実装する方法がない場合は、おそらくいくつかの異なるプラットフォーム用にこのコードをラップすることになります。

4

4 に答える 4

2

あなたの質問はプラットフォームに依存するため、次のようになります。

于 2011-08-05T12:45:29.240 に答える
1

共有されるデータの種類と、システムのその他の制約/目標を少し説明すると、質問に答えやすくなります。

なぜ共有バッファが良いと思うのですか? それは、バッファ内のポインタを処理対象のデータに渡したいからですか? プロセス間で作業する場合は、共有メモリが必要です。

要求に応じてクライアントにデータを送信するクライアント サーバー アプローチについてはどうでしょうか。

問題に関する詳細な情報は、より適切な回答を提供するのに役立ちます。

于 2011-08-05T12:33:48.897 に答える
1

これは、共有メモリ バッファに関する元の質問よりもやや広いですが、設計、データ量、およびパフォーマンス要件によっては、Redis や分散キャッシュなどのインメモリ データベースを調べることができます。 ' 状況。

于 2011-08-05T21:25:55.920 に答える
1

名前付き共有メモリとプロセス間同期を使用する必要があります。

于 2011-08-05T12:38:05.070 に答える