7.2. 非同期送信
7.2.1. 同期および非同期送信 リンクのコピーリンクがクリップボードにコピーされました!
リンクのコピーリンクがクリップボードにコピーされました!
送信者が信頼できるリンク上で同期的に送信されると、送信側がブローカーから確認応答を受け取るまで、送信者のスレッドの実行はブロックされます。これはテストおよびトラブルシューティングに役立ちますが、メッセージごとにラウンドトリップを導入することで、システムのスループットが低下します。
C++ API を使用する場合、デフォルトですべての呼び出しが 非同期 になります。ただし、Python API を使用する場合、その逆は true です。デフォルトでは、送信者はメッセージを同期的に送信します。
メッセージを非同期に送信できるため、ネットワーク帯域幅の使用量とスループットを最大化できます。非同期的に呼び出されると、ブローカーから受信を待つことなく、送信呼び出しが即座に返されます。
たとえば、以下の
send
オブジェクト send()
メソッドへの呼び出しは非同期です。ブローカーから受信を待つことなく、即座に返します。
- python
sender.send(message, sync = False)
sender.send(message, sync = False)
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - C++
sender.send(message, false)
sender.send(message, false)
Copy to Clipboard Copied! Toggle word wrap Toggle overflow これは、C++ API のデフォルト動作であることに注意してください。