2013-07-14 16 views
5

に押すことができます。プロデューサには、zmq経由のsend()といういくつかの内部スレッドがあります。しかし、0MQのドキュメントは、スレッド間でソケットを共有しないように提案していますzmqは:単純なプッシュプルポイントツーポイントパターンで<strong>消費者</strong>に<a href="http://www.zeromq.org/" rel="noreferrer">ZMQ</a>介してメッセージをプッシュ<strong>プロデューサー</strong>:複数のスレッドは、私は2つのプロセスを有する単純なプッシュプルパターン

送信するスレッドを1つ使用する必要がありますか?
スレッド間で送信順序を厳守する必要がないと仮定して、ソケットが一方向シンプレックスであるという事実は、複数のスレッドがロックを導入することなくそれを使用できるようにするものではありませんか?

答えて

4

最も簡単なことは、プロデューサのスレッドごとに個別のPUSHソケットを作成し、すべてのソケットをコンシューマ内の単一のPULLソケットに接続することです。

ZeroMQソケットは、単一のスレッドで使用する必要があることが明示されています。私は、この要件を違反することは良い考えではないと思います。たとえそれがうまくいくようであっても、次のバージョンのライブラリや特定のプラットフォームや特定の負荷シナリオで問題が発生する可能性があります。だから、あまりにも危険です。

関連する問題

 関連する問題