問題タブ [timertask]

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

android - サービスが TimerTask を実行しているときに、UI のハングを防ぐにはどうすればよいですか?

Webservice から一定期間データを受信するための Timer と TimerTask を含むサービスがあります。TimerTask を実行すると、Web サービス プロセスが完了するまで UI がハングします。UI がハングしないようにタスクをスレッドに入れるにはどうすればよいですか?

私のコード:

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

java - Why did switching to from an infinite loop to TimerTask cause this drop in CPU usage?

I wrote a daemon which was structured like this:

I noticed it was using a very large amount of CPU - up to 100%. I have had a similar daemon on my production servers for some months with the same CPU problem.

Yesterday I refactored the code to use TimerTask. Immediately I noticed that CPU usage had decreased on my dev box. So I decided to deploy to production and double-check using Munin. Here are the graphs:

Load average

CPU usage

A couple of points:

  • There is absolutely nothing else running on the production server except the JVM.
  • There are no other application threads running
  • It was definitely executing the old-style code at the correct periodic intervals - I always write to the log each time the thread executes.

So: why is Thread.sleep so inefficient compared to TimerTask?

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

android - 特定の日付/時刻のアンドロイドタイマータスク

うーん、私は別の方法で質問をしようとしています:)

特定の日付/時刻 (Date クラス) で通知をアクティブにするコードを local (ローカル変数) として記述しました。通知を有効にすると、新しい日付/時刻で新しい通知が作成されます。

コード:

この場合、PC (eclipe) からアプリケーションをインストールするたびに通知がアクティブになりますが、モバイルからアプリケーションを起動すると、「次の」通知はアクティブになりません。私のアプリケーションはサービスではないかもしれませんが、サービスは必要ありません。タイマータスクをバックグラウンドで実行するアプリケーションが必要です。

サービスを提供しなければならない場合、どうすればそれを行うことができますか?

BR、コレサル

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

java - 非同期ロード ジェネレーター

非同期通信を提供するため、Jetty の HttpClient を使用して Java で非同期ロード ジェネレーターを作成しようとしています。

しかし、私はいくつかの問題に直面しています。主なものは、負荷を生成するために java.util.TimerTask を使用したことです。しかし、TimerTask クラスの問題は、時間の正確さを保証しないことです。つまり、予想される時間からの特定のミリ秒がそれ以上になる可能性があります。このため、1000 tps を生成しようとすると、約 700 ~ 800 tps しか得られません。

誰でもこの問題を克服する方法を教えてもらえますか? 参考になる道具はありますか??

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

android - Androidでほぼスケジュールされた時間に実行されることが保証されているタスクをスケジュールするための最良の方法は何ですか?

私は擬似コードでTimer&TimerTaskを使用しています:-

このアプリケーションは長時間実行されるアプリです(たとえば、ウェイクロックなしで15分、画面がオフになっている場合など)。このタスクをスケジュールした後、画面をロックすると、電話が動いています(加速度計のセンサーマネージャーがアクティブになっています)。したがって、理想的には、このタスクは1分ごとに実行する必要があります。ただし、ログでは、スケジュールされたタイマーが5分、9分、および12分にのみ実行されたことがわかります。

私の要件には、許容可能な遅延範囲が数秒(1〜5秒)のタイムクリティカルなサンプリングがあります。デバイスがスリープモードの場合、タイマーはデバイスをウェイクアップしてスケジュールされたタスクを実行しないようです。これに代わるものはありますか?ドキュメントによると、AlarmManagerとHandlerを使用できます。理想的には、AlarmManagerを使用して、システムアラームに基づいたシングルショットタスクを実行する必要があると思います。私が欠けているもの、またはこの機能を実現するための代替手段はありますか?

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

java - タイマーの繰り返し実行は1回だけ実行します

私は10秒ごとに実行されることになっている意図されたタスクを持っています。プロジェクトを実行するだけで機能します。つまり、一度run()を実行しますが、それ以降は実行しません。誰かがどの部分が間違っているか教えてもらえますか..私はこの問題を解決するために何時間も費やしましたが、役に立ちませんでした:(これが私のメインです:

これはコストコードです:

私が試した方法のいくつかは、thread.sleepをCostコードの最後まで終了することでしたが、私が試した他の方法は、しばらくの間(true)私のメインに追加されました...

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

android - メインスレッドの実行を一時停止している間、Androidで時限カスタムダイアログを表示する

アプリケーションにカスタムダイアログを表示していますが、このダイアログは短時間(たとえば、2秒)留まり、その後消えます。このカスタムダイアログをメインアクティビティから呼び出しています。カスタムダイアログが消えるまで通話アクティビティを一時停止したい。問題は、ダイアログが表示されている間、ダイアログが閉じられたのアクティビティコードが常に実行されることです。

ダイアログを表示して2秒間スリープしてから閉じてみましたが、機能していません。ダイアログが閉じられた後のアクティビティコードが実行されています。

また、ダイアログをタイマータスクに入れてみましたが、これも失敗します

また、スレッド内のカスタムダイアログを使用して単純なスレッド化を試み、メインアクティビティで同時にスリープ状態にしました。これにより、例外が発生し、強制終了されます。

カスタムダイアログが表示されている間、メインアクティビティを一時停止して、カスタムダイアログを閉じた後のコードが実行されないようにする方法を教えてください。

ありがとう

0 投票する
3 に答える
2022 参照

java - Java および Web ソケットの TimerTask

DatagramSocketJavaとDatagramPacketクラスを使用して基本的なクライアント サーバーを作成しようとしています。基本的なコードをセットアップしましたが、1 秒、2 秒、または 5 秒などの定期的な間隔で、クライアントからサーバーに 100 個のメッセージを送信する方法が必要です。

基本的に、私は次のようなものが欲しいです:

Cにはスリープメソッドがありますが、Javaでそれを行う方法がわかりません。誰にも提案はありますか?

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

java - IcyStreamMeta を使用して SHOUTcast からメタデータを取得する

SHOUTcast mp3 ストリームからメタデータを取得する Android 用のアプリを作成しています。オンラインで見つけたかなり気の利いたクラスを少し変更して使用していますが、まだ2つの問題があります。

1) TimerTask を使用してメタデータを更新するには、サーバーに継続的に ping を実行する必要があります。私はこのアプローチが好きではありませんが、それが私が考えることができるすべてでした。

2) アプリの実行中にトン単位のガベージ コレクションが発生します。TimerTask を削除すると、ガベージ コレクションの問題が解消されたので、間違っているだけなのか、これが正常なのかわかりません。

私が使用しているクラスは次のとおりです。

}

そして、ここに私のタイマーがあります:

ご協力いただきありがとうございます。

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

android - Android: スレッドから UI 要素にアクセスする

stb.setOnClickListener(new OnClickListener() {

UIのラジオボタンのグループにアクセスし、定期的にチェックするように設定する必要がありますが、さまざまなエラーが発生し続けます。ハンドラーを使用する必要があることに気付きましたが、まだ機能していません...誰か教えてください私は間違っています....初心者で、作業をよりよく理解するために何かを試しています...助けてください...