Raymond Hettingerはsnippetを投稿しました。ここでは、特定のレート(N回/秒)で関数を呼び出すために、標準のPythonライブラリで使用できるschedモジュールを使用しています。私はJavaに相当するライブラリがあるのだろうかと思います。Pythonのschedモジュールに相当するJavaはありますか?
答えて
java.util.Timerを見てください。
あなたはまた、はるかに強力である。ここで春 と組み合わせ で使用することができクォーツは、ここexample
であると考えることができ、使用here
の例は私の同等が使用している見つけることができますコードのjava.util.Timerは、あなたが
package perso.tests.timer;
import java.util.Timer;
import java.util.TimerTask;
public class TimerExample extends TimerTask{
Timer timer;
int executionsPerSecond;
public TimerExample(int executionsPerSecond){
this.executionsPerSecond = executionsPerSecond;
timer = new Timer();
long period = 1000/executionsPerSecond;
timer.schedule(this, 200, period);
}
public void functionToRepeat(){
System.out.println(executionsPerSecond);
}
public void run() {
functionToRepeat();
}
public static void main(String args[]) {
System.out.println("About to schedule task.");
new TimerExample(3);
new TimerExample(6);
new TimerExample(9);
System.out.println("Tasks scheduled.");
}
}
クォーツは、事実上すべてのJava EEまたはJava SEアプリケーションと統合することができるフル機能を備えた、オープンソースのジョブスケジューリングサービスである、または側面に沿って使用を見てみましょう - 最小のスタンドから最大規模の電子商取引システムへの単独アプリケーションの導入
java.util.Timer classはどうですか?
あなたは軽量のオプションがScheduledExecutorServiceあるサンプルコードhere
を見つけることができます。
Pythonのスニペットとほぼ同等のJavaコードは次のようになります。
- が
- が返さ将来をどうするかを決定するコールバックインタフェースを定義します。
private final ScheduledExecutorService scheduler = Executors.newScheduledThreadPool(1); public ScheduledFuture<?> newTimedCall(int callsPerSecond, Callback<T> callback, T argument) { int period = (1000/callsPerSecond); return scheduler.scheduleAtFixedRate(new Runnable() { public void run() { callback.on(argument); } }, 0, period, TimeUnit.MILLISECONDS); }
演習は読者に任せます
- 実行者をシャットダウンすることを忘れないでください。
+1恐らく最良の解決策です。面白いことに、Javaの抜粋はPythonに相当するものではありません。 – helpermethod
ありがとう! –
方法についてjava.util.Timer
をmentionnedスニペット? this related answerを参照してください。
- 1. Python 3 schedモジュール
- 2. Pythonのglobモジュールに相当する正規表現はありますか?
- 3. Pythonのprintfハッシュ置換に相当するJavaはありますか?
- 4. JavaのAWT Robotクラスに相当するPythonはありますか?
- 5. Java用ソースアウトライナーに相当するものはありますか?
- 6. JavaのFile.separatorに相当するC#はありますか
- 7. TwitterのOstrichライブラリに相当するJavaはありますか?
- 8. OpenSSLのbn_rand_rangeに相当するJavaはありますか?
- 9. pythonの__getattr__メソッドに相当するjavascriptはありますか?
- 10. perlのmodule-starterに相当するpythonはありますか?
- 11. Python/Djangoに相当するPHPのhash_hmacはありますか?
- 12. PythonのcProfileに相当するJuliaプロファイラはありますか?
- 13. VBAに相当するPythonのpass文はありますか?
- 14. unputcに相当するJavaはありますか?
- 15. excel vlookupに相当するJavaはありますか?
- 16. getcharに相当するJavaはありますか?
- 17. プリフューズビジュアライゼーションツールキットに相当するPythonはありますか?
- 18. HighLineに相当するPythonはありますか?
- 19. 'which'コマンドに相当するPythonはありますか
- 20. PHP-FPMに相当するPythonはありますか?
- 21. Objective-CのstringWithUTF8Stringに相当するJavaがありますか?
- 22. PythonでNODE_ENVに相当するものがありますか?
- 23. JavaのJavascriptの「some」メソッドに相当するJavaはありますか?
- 24. Java Spring Reactorに相当するRxJavaComputationExpressionsがありますか?
- 25. Javaにepoll相当版はありますか?
- 26. Python 3相当のConfigモジュール
- 27. JavaにTweenMax相当のものがありますか?
- 28. JavaのC++からgetch()に相当するものはありますか?
- 29. PythonにはRakeに相当するものはありますか?
- 30. Pythonのstr.strip()に相当するJava
TimerクラスとQuartzライブラリの両方は、特定の時間にジョブをスケジュールするか、N時間単位ごとに実行するcronのようなインターフェイスを提供しています。私が必要とするのは、特定のレートを達成するためにタスクをスケジュールするスケジューラです。時間単位ごとにN個の関数(メソッド)呼び出し。スニペットのように@Tichodroma – dkart
@ dkartを投稿しました。私の答えでわかるように、あなたが期待している振る舞いを持つアプリケーションを作成するのは簡単です...何かを見逃していない限り、 –
たくさんの@C.Champagne私はこれが私が必要とするものだと思います! – dkart