問題タブ [futuretask]

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.

0 投票する
2 に答える
215 参照

java - ブロッキング API を使用する場合の Java での非同期プログラミング

ブロックしている特定の API を使用する Java プロジェクトに取り組んでいます。

結果を待っている間にブロックする必要がないように、非同期プログラミングとコールバックを使用したいと思います。JavaFutureの使用を検討しましたが、それを使用できると思う唯一の方法は、get()ブロックするメソッドを呼び出すことです。私は、非同期プログラミングを行うために他の方法を使用することにもオープンです。

私の現在のコードは次のようになります。

を使うFutureとしたら、このようにします。しかし、私の理解はget()ブロッキングです。

get()結果が利用可能になったときに自動的に呼び出されるコールバックによって関数が基本的に処理されるように、これを実装するにはどうすればよいでしょうか?

0 投票する
2 に答える
297 参照

java - 1 つの将来のタスクで期待される結果が得られたら続行します

私は3つFutureTask<T>のオブジェクトを持っています。それらが非同期で処理されることを望みます。ただし、FutureTasks のget()メソッドの 1 つが返されないとすぐnullに続行したいと思います。つまり、メソッド (ラッパー) が返され、他の 2 つの FutureTasks が処理されるまで待機しません。私は次のようなことを考えました:

他の2つのタスクが完了するのを待たずに戻るだけなので、例外がスローされると想定しているため、(get()によってスローされた)例外を適切な方法でキャプチャする方法がわかりません。さらに、コードが意図したとおりに機能するかどうかは疑問です。私は解決策に近づいていると感じていますが、何かが欠けています。

0 投票する
1 に答える
296 参照

android - ボタンのクリック時に ExecutorService のタスクをキャンセルするにはどうすればよいですか?

ユーザーがクリックしてダウンロードできるアイテムのリストがあります。私はこのコードを持っています:

ユーザーが tasks.get(key).cancel(true); を呼び出してキャンセルをクリックすると、それぞれのダウンロードをキャンセルしようとしています。

しかし、私のタスクはキャンセルされません。

いくつかの質問:

  1. アダプター クラスで将来のオブジェクトのリストを維持することで、何か問題がありますか?

  2. ユーザーがボタンをクリックしたときにタスクをキャンセルするにはどうすればよいですか?

  3. また、タスクがキャンセルされたことをどのように知ることができますか?

ExecutorService について読んだことがありますが、実装について少し混乱しています。

0 投票する
2 に答える
1082 参照

java - iTextを使用してTIFFをPDFに変換するマルチスレッドアプローチ

基本的に、itext を使用して tiff ファイルを pdf に変換しようとしていますが、これはかなり単純です。しかし、私が見ることができるTiffImage.getTiffImageのは、より大きなファイルの実行に多くの時間がかかっていることです。

私の要件は、マルチスレッドソリューションを使用FutureTaskして提供することです。ExecutorServiceこれが私の現在のコードです:

そして変換方法は

しかし、私はで取得してNullPointerExceptionfuture.get()ます。問題は、実行が TiffImage.getTiffImage(tiffFile, pageNo) の終了を待っていないことです。したがって、イメージ リストを作成できません。どんな助けでも大歓迎です。

スタックトレース

0 投票する
1 に答える
101 参照

java - FutureTask を割り当てることができる理由未来への反対変数?

これは、私を混乱させた本のJava Concurrency in Practiceからの抜粋です。

コードが示すように、fの型は Future ですが、ftの型は FutureTask です。なぜftを変数fに代入できるのでしょうか?

0 投票する
0 に答える
852 参照

java - Java Spring で Future Task Threads を Atomic(Transactional) にする方法

各スレッドをアトミ​​ックにしようとしています。execute メソッドの後にプロキシ アノテーションを使用してトランザクションを開始および終了しようとしましたが、機能しませんでした。また、クラス レベルとメソッド レベルでトランザクション アノテーションを使用しようとしましたが、どちらも機能しませんでした。では、スレッドをアトミ​​ックにするにはどうすればよいですか。

テストクラス/ドライバークラス

私の呼び出し可能な実装

タスク実行コード

}

アクティブなトランザクションではないため、エラー メッセージは失敗しました。