私はクラス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. Magento Community 1.6.2サーバからの異なる応答
- 6. 異なるスレッドの応答コールバック
- 7. マルチスレッドを使用する異なるURLから応答を取得
- 8. 異なるタッチイベントごとに異なる応答
- 9. 異なるビューコントローラからインスタンス変数にアクセスするレール
- 10. 同じコールから異なる応答を返すSOAPサービスwebサービス
- 11. クラススウィフトのインスタンス数をカウントする
- 12. 異なる非同期関数からの応答でjsonオブジェクトを作成する
- 13. tidyr:NAカウントが異なる複数のネストネスト
- 14. 異なる反応ファイルから関数を呼び出す
- 15. OSXとWindowsのmongodb nodejsネイティブドライバからの異なる挿入応答
- 16. iOS - ARCと解析の単一APIからの異なる応答
- 17. 回答に応じて異なるメッセージを出力するJavascript
- 18. jQueryで異なるdivにjson応答を適用する
- 19. カウント異なる行
- 20. 引用符のない変数、異なる応答のライブとローカル
- 21. 関数からの応答でリアルタイムにラベルを更新する
- 22. PHPのAPI応答から変数を抽出する
- 23. ajaxの応答から動的変数を作成する
- 24. Google CloudSQLインスタンスが応答しない、サポートを受ける方法
- 25. Yii2異なるフォーマット要求に応答する同じアクション
- 26. AJAXの応答からコンボボックスを作る
- 27. サーバからの応答を得る
- 28. Windows.Web.Http.HttpClientとSystem.Net.Http.HttpClientは異なる応答を受け取ります
- 29. RESTエンドポイント用に異なるHTTP応答コードを返す
- 30. サーバーは、iOS/Restkitとは異なる応答を返します。
コメントありがとうございます!順序付けされていないマップはマップより速いでしょうか? –
少し速く - unordered_mapのルックアップはO(1)で、マップ上ではO(log(N))です。 arrays + countersメソッドを使用する方がどちらの型よりも高速になるでしょう。つまり、あなたが目にしているスケール(50項目)では、違いを測定することはできません。数千から数万のアイテムにスケールアップしようとしていたなら、あなたはそうかもしれません。 –