問題タブ [scheduledexecutorservice]

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 投票する
1 に答える
3206 参照

java - キャンセル時に(固定レート)ScheduledFuture が完了するのを待つ方法

Runnable固定レートでスケジュールされたタスクをキャンセルScheduledExecutorService.scheduleAtFixedRateし、キャンセルが呼び出されたときにタスクが実行されている場合に完了を待つ組み込みの方法はありますか?.

次の例を検討してください。

このプログラムの出力は次のとおりです。

共有揮発性フラグを設定するのが最も簡単なオプションのようですが、可能であれば避けたいと思います。

java.util.concurrent フレームワークには、この機能が組み込まれていますか?

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

java - Java ScheduledExecutorService 標準プラクティス

J2EEアプリケーションでScheduledExecutorServiceを使用して、構成ファイルから取得したx秒ごとにタスクをスケジュールしています(データベースからデータを取得して外部サーバーに送信します)。私のコードは次のとおりです。

私の質問は、私が書くべき余分なコードはありますか? スレッドが完了していることを確認するためにwhileループを記述してから、それを処理するservice.shutdown()必要がありScheduledExecutorServiceますか?

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

java - Executor 内からタスクをキャンセルするか、タイムアウト後に外部からキャンセルする

さて、私は時間をかけて周りを見回しましたが、明確な解決策を見つけることができませんでした. 以前に別の質問を投稿しましたが、それは少し異なる問題です。

問題: 定期的に発生する条件をポーリングしたい。その条件がまだ false の場合は、再度スケジュールを変更します。true の場合、スケジューリングを停止します。しかし、私はまた、決定的な時間だけ待ちたいと思っています。これが私が書いたものです

これは、条件が満たされるまで自分自身を再スケジュールし続けます。なぜ機能しないのかについての提案はありますか? 5 秒だけ待ってからタスクの実行を停止するにはどうすればよいですか?

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

jsf - HTTP リクエストなしで、スケジュールされたエグゼキュータでリクエスト スコープ Bean をインスタンス化する

JSF 2.2 webapp には、タスクを実行するためにリクエスト スコープ Bean をインスタンス化する必要があるコードを定期的に実行する、スケジュールされたスレッド エグゼキュータ サービスがあります。クライアントからの http リクエストなしで、アプリケーション スコープ Bean 内からリクエスト スコープ Bean をインスタンス化するにはどうすればよいですか。

試してみると:

リクエストスコープのBeanはどこNamesDirectoryですか、私は得るNullPointerException

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

android - ScheduledExecutorService は、Service 内で 1 回だけ実行されます

ScheduledExecutorServiceバックグラウンドで画像を取得するサービス内で実行しています。ScheduledExecutorService一度だけ実行するとは、関数で渡された間隔の後に写真を 1 枚だけ撮影することを意味します。エラーはまったく表示されません。以下は私のコードですService

エラーが発生しないため、Logcat はありません。写真を撮った後もサービスが実行されています。私が間違っていることは何ですか?

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

java - 異なるコンピューターでの java.util.concurrent.ScheduledExecutorService のパフォーマンス

私は2つのJavaプログラムを持っています。それぞれにメモリ領域があり、プログラムは互いのメモリ領域にメッセージを渡します。Java プログラムは、ScheduledExecutorService を使用して特定の時間 (5 ミリ秒) でメモリ領域をチェックします。次に、何らかの変換を行い、メッセージを画面に出力します。2 つのプログラムが正常に実行され、メッセージが画面に出力されます (すべての JNI 関連のものを実装し、プログラムが正常に実行されました)。問題は、これらのプログラムを自分のコンピューター (Windows 8、64 ビット、8GB RAM、2.67 Ghz i5 プロセッサー) で起動すると、非常に高速に実行されることです。ただし、これらのまったく同じプログラムを、共有メモリ関連の作業を処理するまったく同じネイティブ C++ ライブラリで実行すると、別のコンピューターで実行速度が低下します。. さらに興味深いのは、32 GB RAM、i7 プロセッサを搭載した優れたコンピューターと、6 GB RAM と 64 ビット コア デュオ CPU を搭載した劣悪なコンピューターの両方でそれらを実行しようとしたにもかかわらず、動作が遅くなったことです。したがって、私のコンピューターよりも機能が優れていても劣っていても、プログラムの速度には問題がありませんでした。他のコンピューターでは実行速度が遅いことがわかります。

どんな助けでも大歓迎です。ありがとう。

0 投票する
8 に答える
78279 参照

java - scheduleAtFixedRate と scheduleWithFixedDelay の比較

とScheduledExecutorServicescheduleAtFixedRatescheduleWithFixedDelayメソッドの主な違いは何ですか?

それらはまったく同じ時間に印刷され、まったく同じ間隔で実行されているようです。