1. ホーム
  2. java

[解決済み] Java VMはいくつのスレッドをサポートできますか?

2022-02-08 23:24:10

質問内容

Java VMはいくつのスレッドをサポートできますか?これはベンダによって、OSによって、その他の要因によって異なりますか?

解決方法は?

これは、使用しているCPU、OS、他のプロセスが行っていること、使用しているJavaのリリース、その他の要因に依存します。 Windowsサーバで、マシンをダウンさせる前に、6500スレッドあったのを見たことがあります。 もちろん、ほとんどのスレッドは何もしていません。 しかし、(Javaで)6500スレッドに達すると、マシン全体に問題が発生し、不安定になり始めました。

私の経験では、Java(最近のバージョン)は、コンピュータ自体がホストできるのと同じ数のスレッドを問題なく消費できます。

もちろん、十分なRAMが必要で、スレッドが行うすべてのことを実行し、各スレッド用のスタックを持つのに十分なメモリでJavaを起動する必要があります。 最新のCPU(AMDやIntelの最近の数世代)と1〜2ギガのメモリ(OSに依存)を搭載したマシンであれば、簡単に 数千 のスレッドが必要です。

これより具体的な回答が必要な場合は、プロファイリングが最良の方法です。