問題タブ [future]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - Java の Future クラスを使用しているときにタスクがどのように終了したかを知るにはどうすればよいですか
Java の Future クラスを使用してタスクを実行していますが、タスクが完了すると isDone メソッドは true を返します。完了は、正常終了、例外、またはキャンセルが原因である可能性があります。これらすべての場合において、このメソッドは true を返します。
例外が原因で終了したのか、正常に終了したのかを知る方法はありますか?
actor - 先物に対する俳優の利点
私は現在Futuresでプログラムを行っていますが、俳優についてはかなり興味があります。経験豊富な声から聞きたい:
- 先物に対する俳優の利点は何ですか?
- いつ他の代わりに1つを使用する必要がありますか?
私が読んだ限りでは、俳優は国家を保持し、先物は保持しません、これが唯一の違いですか?それで、私が本当の不変性を持っているなら、私は俳優を気にするべきではありませんか?
私に教えてください:-)
java - 一方の先物が他方の先物に依存している 2 つの異なるタイプの先物を処理する理想的な方法は何ですか?
AKKA の Java Futures API を見ていると、同じ型の複数の先物を処理する方法がたくさんありますが、異なる型の先物を処理するために思いつくものは何もありません。私はこれを実際よりも複雑にしていると思います。
とにかく、2 つの異なるアクターがあるとしましょう。アクター A とアクター B です。それらは異なるクラスに基づいており、それぞれ異なる Future を返します。ただし、actorB は、actorA の Future に依存しています。次のロジックは、このケースをどのように処理するのが最適ですか?
もし私たちがactorAsとactorBsのリストを持っているとしたらどうでしょう?
python - 複数のパラメータをconcurrent.futures.Executor.mapに渡しますか?
はconcurrent.futures.Executor.map
、指定された関数が呼び出される反復可能オブジェクトの可変数を取ります。通常はその場でアンパックされるタプルを生成するジェネレーターがある場合、どのように呼び出す必要がありますか?
生成されたタプルのそれぞれが map への異なる引数として与えられるため、以下は機能しません:
ジェネレーターがない場合、マップする必要のある引数は次のようになります。
javascript - JavaScript の Deferred、Promise、Future の違いは何ですか?
Deferred、Promise、Future の違いは何ですか?
これら 3 つすべての背後にある一般的に承認された理論はありますか?
multithreading - ブースト スレッド フューチャーのベクトルを使用するにはどうすればよいですか?
スレッド フューチャーのベクトルを使用して、スレッドのグループから戻り値を取得するにはどうすればよいですか? これは機能するはずですか?そうでない場合、どのように適応させますか?
java - スレッドプールを適切に使用してスレッドから結果を取得するには?
私はマルチスレッド プログラミング (私にとっては新しい) を実験しようとしていますが、いくつか質問があります。
私は、ThreadPoolTaskExecutor
実装する TestTask とX 秒間スリープRunnable
するメソッドを使用しています。run
すべてがスムーズに進み、すべての TestTask が別のスレッドで実行されました。Ok。ここで難しいのは、スレッドで行われた操作の結果を知りたいということです。だから私はGoogle/stack/etcでいくつかのものを読んで、使用しようとしましたFuture
. そして、それはもううまく機能していません:/
メソッドを使用してget
メソッドの結果を取得し(本当に?)、call
その部分は機能していますが、TestTaskは次々に実行されます(以前のように同時にではありません)。だから私は何かを正しく理解していなかったと思いますが、何がわからないのですか...そしてそれがあなたの助けが必要な理由です!
テストを起動するクラス:
TestThreadService クラス:
そして TestTask クラス:
私はJavaが苦手ではありませんが、別のスレッドを使用しようとするのはこれが初めてなので、私にとっては新しいことです。
私は何を間違っていますか?
ありがとう !
python - future.ThreadPoolExecutor で保留中のタスクをカウントします
Python 3.2 futures.ThreadPoolExecutor で保留中のタスクの数をカウントする方法を探しています。
知るまで、私には2つの解決策があります:1.-送信時に保留中のタスクの数を増やし、タスクが終了したときにカウントを減らすためにコールバックを追加します
より直接的なもの (エグゼキュータのプロパティまたはメソッド) はありますか?
前もって感謝します
c++ - C++、Linux: エラー: 'boost::unique_future からの変換' 非スカラ型へ 'boost::shared_future' 要求されました。それを回避する方法は?
ブースト スレッド フューチャーを使用しようとしています。ここに示すように、パッケージ化された taskから共有の futureを取得できます。
だから私はLinuxでそのような機能を試します:
しかし、それを呼び出すとエラーが発生します:
以前は、そのタスクから先物を取りませんでした。すべてのソース コード、呼び出し元の場所、呼び出し元のスレッド プール。また、Windows の Visual Studio 2010 では、コンパイルして完全に動作します。
何をすればよいでしょうか?このエラーを修正または回避するにはどうすればよいですか?
future - アクターを使用して非同期の相互依存のキャンセル可能な操作を実装する方法は?
私はアクター モデルにまったく慣れていないため、アクターやフューチャーなどの美しい構成可能な抽象化を使用して、私の一般的なシナリオに対処する確立されたパターンが既に存在すると思います。
次の要件を持つ非同期操作があります。
- 低レベルのリクエストを送信し、ポーリングでエンティティの状態を監視することで、レガシー システムを使用します。したがって、実際の操作の結果は延期された方法でのみ利用可能であり、監視された状態が目的の状態に達したときにリクエスターに通知する必要があります。
- これらの操作は、他のいくつかの操作が完了した後にのみ発行できます。これらの操作は、並行して待機する必要があります。
- 操作はキャンセルできます。もちろん、すでに発行された低レベルのリクエストは取り消すことができません。キャンセルとは、依存する操作が終了した後に実際の操作を発行しないことを意味します。もちろん、これは再帰的に伝播する必要があります (依存関係を待っていて、保留中の操作が複数ある場合は、それらを発行しないでください)。
私はFuturesで考えています:最初の要件は、たとえばAkkaのmap
/で解決でき、2番目の要件は、依存関係/依存関係を手続き的に維持することなくflatMap
、コンビネーターで解決できます。しかし、キャンセルtraverse
の解決策が思いつきません。フューチャーはキャンセルできず、構成されている場合、それらのコンポーネントには到達できません。「現在の操作のキャンセル」を機能的な方法でカプセル化する方法は? Scala の Actor フレームワークでこれをサポートしているものはありますか?