あなたが何を望んでいるのか正確に理解しているかどうかはわかりませんが、単一のスレッドと無限の空のループを使用してそれを取得することはまずありません。まず、そのプログラムは多くても 1 つのシステム スレッドを使用するため、1 つの CPU コアを使用します。次に、ホットスポット コンパイラは、空のループ (または、使用されない変数への算術演算または代入) を最適化する可能性があります。したがって、達成したいことが何であれ、オプティマイザーが改善しようとしない何かを行う必要があります。そう...
(コンピュータではなく) プログラムの実行を遅くしたい場合は、Thread.sleep(1000) の周りに広げてください。JVM はその時間を OS に返します。
外部イベントを待機している間に JVM に何らかの作業を行わせることが意図されている場合 (「システムのボゴミの計算」など)、オプティマイザが不要な変数を削除しないように、副作用のあるコードを実行する必要があります。割り当て。たとえば、配列に対していくつかの算術演算を実行してから、その配列の値を System.out.print() (またはその他...) に実行できます。ただし、プロセスは依然として 1 つのスレッドに制限されていることに注意してください。また、プロセスが長時間 IO 操作を実行しない場合、オペレーティング システムによって優先順位が下げられる可能性が高いため、そのタイプのスレッドにあまり信頼性を期待しないでください。測定技術。
システム全体の停止を検討している場合は、いくつかのスレッドを実行し、それらに集中的なメモリ割り当て、IO 操作、または外部プログラムの実行を行わせる必要があります。たとえば、何千ものスレッドを実行し、それぞれが巨大なバッファを割り当てる外部Javaプログラムを実行するループを実行し、そのバッファの内容をファイルに書き込むことができます...まあ、あなたはアイデアを得る;)