問題タブ [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.
java - メソッドscheduledExecutorService.scheduleAtFixedRate()は、どのようにしてリアルタイムの実行を保証しますか?
タイムクリティカルなタスクを毎秒実行しているため、いくつかの方法を比較して、タスクが実際に固定の時間ステップで実行されるようにするための最良の方法を見つけました。すべてのメソッドのエラーの標準的な導出を計算した後、そのメソッドを使用するscheduledExecutorService.scheduleAtFixedRate()
と最良の結果が得られるように見えますが、なぜそうなるのかわかりません。
そのメソッドが内部でどのように機能するかを誰かが知っていますか?sleep()
たとえば、参照されたタスクが実際に固定の時間ステップで実行されることを単純に確認するのと比較して、どのようにすればよいでしょうか。
multithreading - サーブレット ベースの Web アプリケーションでバックグラウンド タスクを実行する方法は?
Java を使用していて、アプリケーションでサーブレットを継続的に実行したいのですが、その方法がわかりません。私のサーブレットには、データベース全体からのユーザーの合計数だけでなく、データベースからのユーザー数も毎日カウントするメソッドがあります。そのため、サーブレットを継続的に実行し続けたいと考えています。
java - ScheduledExecutorService と Thread.sleep() を使用した独自の Runnable のローリングの違い
を使用して定期的にコードを実行するScheduledExecutorService
利点は何ですか?scheduleAtFixedRate()
Runnable
Thread.sleep()
いずれかの方法でパフォーマンスが向上しますか?
android - ScheduledThreadPoolExecutor、TimerTask、または Handler はどこで作成して使用できますか?
RSS フィード リーダーで 10 分ごとに新しい投稿がないかフィードをチェックし、新しい投稿がある場合はそれらを解析する必要があります。UI も毎分更新する必要があります。
私はさまざまな情報源からさまざまなことを読んだり聞いたりしました。私の現在の理解では、 を使用ScheduledThreadPoolExecutor
して 2 つのスケジュールされたスレッドを作成でき、そのうちの 1 つはHandler
UI を更新するために必要です。これらのクラスまたはTimerTask
.
また、これらのサブクラスをどこで作成するかについても非常に不確かです。ある友人は、クラスを簡単にするためTimerTask
に、クラスの内部クラスとして拡張することを提案しました。FeedParser
ただし、そのように実装するには、run()
メソッドをTimerTask
オーバーライドせずに使用する必要があります。つまり、実行する必要がある関数に必要なパラメーターを単純に使用することはできません。
要するに、このためのタスクをスケジュールする最良の方法は何ですか?また、これらをどこに実装しますか?
java - スケジュールされた実行の追加実行を強制できますか?
このようなscheduledFixedDelayをRunnableにフィードしているsingleThreadExecutorがあります
実行の間に1分の遅延で実行されます。問題は、「オンデマンド」で実行する必要がある場合があることです。それは可能ですか?
実行をキャンセルし、Runnableを実行して実行を再開することを考えましたが、本当に必要なのは、Runnableを事前に実行し、1分後に再度実行するように再スケジュールする簡単なメソッドです。
java - ScheduledExecutorServiceで値を返す方法は?
私は ScheduledExecutorService を使用しており、1 分間 10 秒ごとに何らかの計算を行い、その分後に新しい値を返すようにしたいのですが、どうすればよいですか?
例: 5 を受け取り、+1 を 6 回追加すると、1 分後に 11 の値が返されます。
私がこれまでに持っているが機能していないのは次のとおりです。
}
そして私の主な活動では、1分後にtxtviewテキストを11に変更したいです。
java - しばらくすると ScheduledExecutorService が実行されない
毎秒実行される 2 つの executorservices があります。しかし、実行メソッドにコード行を挿入すると、そのうちの 1 つが実行を停止します。ここに私のクラスがあります:
ゲームサーバー:
サーバーマネージャー:
プレーヤー:
主要:
Player
クラスには、コメント行のコードがあります。int randomGameServer =...
run メソッドは、期待どおりに毎秒スムーズに実行されます。しかし、コメントを外すと、プレーヤーの実行のメソッドは数回しか実行されずに停止します。私がやろうとしているのは、参加するゲームサーバーをランダムに選択するようにプレイヤーを誘導することです。なぜ止まるか分かる人いますか?
コメント行の結果 (プレーヤーは継続的に実行されます):
コメントを外した行の結果 (Player は数回実行されます):
java - Thread.sleep()VS Executor.scheduleWithFixedDelay()
目標:特定のコードを時々実行します。
質問:パフォーマンスに関して、次の間に大きな違いがありますか?
と
?
もちろん、後者のオプションはよりコーシャです。それでも、「Thread.sleep()に別れを告げるために、レガシーコードのリファクタリングに数日を費やす」という冒険に着手すべきかどうかを知りたいと思います。
更新:このコードは、スーパー/メガ/ハイパーハイロード環境で実行されます。
scheduledexecutorservice - ScheduledExecutorService から Runnable を削除する
これが状況です、コードは以下です
ユーザーが 3 つのフィールドに入力して [追加] ボタンを押す => ToDoBean が作成されて ToDoModel に追加され (AbstractTableModel を拡張)、モデル内の ToDoBean のインデックスを使用して Runnable が作成されます。Runnable は、ScheduledExecutorService を通じてすぐに開始されます。
Runnable の目的は、ゼロになるまで int をデクリメントすることです。
すべて正常に動作します。
これで、ユーザーは JTable の行を選択し、[削除] ボタンを押してリストから ToDoBean を削除することもできます。
私の質問は、Bean を削除すると、ScheduledExecutorService からも削除されたように見えます。なんで?どのように?実際、それはまさに私が必要としているものですが、メカニズムを理解したいと思います。ありがとう
コード:
パッケージ demo.todolist;
import java.util.ArrayList; java.util.List をインポートします。import javax.swing.table.AbstractTableModel;
public class ToDoModel extends AbstractTableModel {
パッケージ demo.todolist;
パブリッククラスToDoBean {