私はクラスCallerA
とクラスCalleeB
を持っています。
クラスCalleeB
にはキューがあり、ジョブは非同期で終了します。
CalleeB
がenqueue(int input)
とCallerA
コールCalleeB.enqueue(1)
とCalleeB.enqueue(11)
機能を有していれば例えば、入力11の結果は、今入力1
より早く返すことができ、CallerA
10個のCalleeB
インスタンスを作成します。 CallerA
は、ランダムCalleeB
のインスタンスに対して1から5の増分を、ランダムCalleeB
のインスタンスでは6から10の増分を入力し、11から15までのように入力します。 CallerA
は、CalleeB
インスタンスからの結果を受信するコールバックを待機し、1〜5の結果がすべて受信された場合、CallerA
は何かを行います。また、CallerA
が6から10を受け取った場合、CallerA
は何かをします。
もちろん、入力1と入力6は同じCalleeB
インスタンスになり、1より前に6が返される可能性があります。 CalleeB
からCallerA
の計算結果を実装する効率的なテクニックはありますか?異なるインスタンスからの応答数をカウントするコーディングテクニック
0
A
答えて
0
CalleeBからCallerAの計算結果 を実装する効率的な手法はありますか?
確かに、CallerAは受け取った結果を追跡しておく必要があります。その結果、5つの結果がすべてセットで受信されると、その結果を処理できます。
私は、CallerAにunordered_map<int, Result>
を維持させ、CalleeBから結果を受け取るたびにunordered_mapに配置し、そのセットの他の4つの結果が存在するかどうかを確認する方法がありますunordered_mapの;そうであれば、それらをunordered_mapから削除し、それらを処理する。
また、結果の5項目サブアレイの10項目の配列を保持し、各結果を適切なサブ配列(slotIdx = i%5)の適切なスロット(arrayIdx = i /適切なサブアレイに結果を配置した後、サブアレイのスロットをチェックして、それらがすべてポピュレートされているかどうかを確認するか、そのサブアレイに固有のカウンタをインクリメントすることができますカウンターが5になると、配列は一杯になる必要があります。
関連する問題
- 1. 異なるアクティビティでサーバーから異なる応答を渡す
- 2. 異なるブラウザからの応答が異なります
- 3. SQL Serverの異なる列からの出現数に応じたカウントID
- 4. 異なるBluetoothディスカバリーリクエストの異なるデバイス名に応答する
- 5. 新しいデバイスからの異なる16進スイング応答
- 6. Magento Community 1.6.2サーバからの異なる応答
- 7. 異なるサンプリングレートのインパルス応答のコンボリューション
- 8. 複数の応答セットと複数の応答周波数を定義したSPSSの異なる番号
- 9. 異なるopensslの応答はbashで
- 10. エンドポイント応答の異なるコンテンツタイプ
- 11. 異なるスレッドの応答コールバック
- 12. 異なるスクリーンサイズに対応するネイティブスタイルの応答性
- 13. soapuiの2つの異なるAPIからの2つの異なるjson応答を比較するには?
- 14. マルチスレッドを使用する異なるURLから応答を取得
- 15. 異なるタッチイベントごとに異なる応答
- 16. 異なるビューコントローラからインスタンス変数にアクセスするレール
- 17. ElasticSearchのインデックスのインスタンス数をカウントする
- 18. 複数の異なる日付からのJavaスクリプトをカウントする
- 19. SASの異なるフィールドのカウント数
- 20. 文字シーケンスのインスタンス数をカウントする
- 21. クラススウィフトのインスタンス数をカウントする
- 22. 同じコールから異なる応答を返すSOAPサービスwebサービス
- 23. tidyr:NAカウントが異なる複数のネストネスト
- 24. 異なる非同期関数からの応答でjsonオブジェクトを作成する
- 25. 異なる反応ファイルから関数を呼び出す
- 26. iOS - ARCと解析の単一APIからの異なる応答
- 27. OSXとWindowsのmongodb nodejsネイティブドライバからの異なる挿入応答
- 28. api.test.sabre.comがタイムアウトして応答を返さない(複数の異なるエンドポイント)
- 29. 回答に応じて異なるメッセージを出力するJavascript
- 30. jQueryで異なるdivにjson応答を適用する
コメントありがとうございます!順序付けされていないマップはマップより速いでしょうか? –
少し速く - unordered_mapのルックアップはO(1)で、マップ上ではO(log(N))です。 arrays + countersメソッドを使用する方がどちらの型よりも高速になるでしょう。つまり、あなたが目にしているスケール(50項目)では、違いを測定することはできません。数千から数万のアイテムにスケールアップしようとしていたなら、あなたはそうかもしれません。 –