1

NetMQ複数のスレッドが同時に使用していない限り、複数のスレッドからソケットにアクセスしても安全ですか?

たとえば
、次のシナリオは問題ありませんか。

  1. スレッドAはソケットを使用します。
  2. スレッドAが終了します。
  3. スレッドBは同じソケットを使用します。

そうでない場合
、唯一の操作スレッドは、ソケットを作成したのとまったく同じでなければなりませんか?

4

1 に答える 1

2

技術的にはできます。ただし、実際に同時に使用されていないことをどのように保証できますか? 複数のスレッドからソケットを使用する場合は、ロックを使用することをお勧めします。NetMQQueue も見てください。これは新しく、文書化されておらず、エンキューのみに対してスレッドセーフです。ポーラーでポーリングできるため、NetMQ ソケット間の同期スレッドを解決するのに役立つ場合があります。

https://github.com/zeromq/netmq/blob/master/src/NetMQ.Tests/NetMQQueueTests.cs

于 2015-12-11T16:02:02.513 に答える