私は、ネットワークを介して何百ものデバイスとやり取りするアプリケーションに取り組んでいます。コミットされる作業のタイプには、多くの同時スレッドが必要です (主に、それぞれがネットワークの対話を必要とし、個別に行うためですが、他の理由もあります)。現時点では、対話するデバイスごとに約 20 ~ 30 のスレッドが必要な領域にあります。
簡単に計算すると、これは数千スレッド、最大 10,000 スレッドにもなります。スレッド切り替えなどの CPU ペナルティを別にすると、CentOS 64 ビットで実行されている Java 5 はいくつのスレッドを処理できるでしょうか? これは単に RAM の問題ですか、それとも他に考慮すべきことはありますか?
ありがとう!