問題タブ [cpu-time]
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 - アイドルスレッドは Java Executor で CPU 実行時間を取っていますか?
アプリケーションにこのコードがある場合:
しかし、私はこのスレッドプールを使用したことはありません。アイドル スレッドは CPU 時間を消費しますか? もしそうなら - なぜですか?
java - Javaでの変数宣言
タイムパスの例で動的な値の増加を伴う変数を定義する必要がある Java で CPU 時間を変数として使用する方法
int cpuTime; 最初: cpuTime = 0 ただし、20 秒後 cpuTime = 20 および 60 秒後 cpuTime= 60 など? ここで、時間の経過とともにいくつかの状態を確認する必要があります。例 if cpuTime > p-10 do {}
よろしくお願いします
java - Java でメソッド時間を取得するための信頼できるクロスプラットフォームの方法
この質問はベンチマークに関するものではありません。
私は、期間時間Tの近くで動作するはずのJavaスレッドサイクルを持っています:
もちろん、スケジュール プリプションの選択によっては、Thread.sleep(sleepTime)
よりわずかに大きくなる可能性がありますsleepTime
。しかし、平均すると、このアプローチは周期 T に近い平均近似値を提供します。
問題
メソッド:
壁時計の基準時間を提供します。マシンのクロックが前後に変化した場合、この実装は周期 T の近似値を提供できません。たとえば、次のようになります。
Thread.sleep(30000)
「実行」中に誰かが手動で時計を 3 分進めると、204283 のように表示されます。
システム クロックは常に変化しているため (タイムサーバーの同期、システムの負荷、ユーザー設定など) System.currentTimeMillis()
、私のニーズを満たすには十分な信頼性がありません。
失敗した解決策
より堅牢な時間参照を提供するために、getTime メソッドの次の実装を試しました。
の問題は、結果として得られる時間が、その瞬間に残された時間ではなく、スレッドによって消費さgetCurrentThreadCpuTime
れた CPU 時間になることです。スレッドがスリープまたはブロックされている残り時間は考慮されません。例えば:
getCurrentThreadCpuTime
驚くべきことに、 getTime の実装によって "0" (ゼロ) が出力されます。
私が欲しいもの
私が必要としているのは次のようなものだと思います:
問題は、クロスプラットフォームの方法getAmountOfCPUCyclesSinceTheProgramStarted()
でJava を実装する方法を見つけられなかったことです。getCPUFrequency()
最後に、私の質問は次のとおりです。信頼性の高いクロスプラットフォームの方法で Java のメソッドに費やされた時間を取得するにはどうすればよいですか?