私はJavaを使用してサーバーサイドアプリケーションを作成しています。Java:このシナリオでマルチスレッドを使用すべきですか?
サーバーには、システムの多数のユーザーが保持されています。ユーザーごとに、そのディスクスペースをリモートネットワークストレージと同期させたい。同期は独立しているので、同時に同期をとることを考えています。
私は各ユーザーごとに1つのスレッドを作成し、同期タスクを同時に起動させることを考えています。
しかし、システムには何万人ものユーザーがいる可能性があります。これは一度に数万スレッドを作成し、同時に発砲することを意味します。これがJVMが処理できるものかどうかはわかりません。
これを処理することができたとしても、各スレッドには独自のスタックがあり、大きなメモリヒットになる可能性があるため、メモリが効率的になります。
あなたの意見をお知らせください。
多くのありがとうございます。
barjuとsamlewisの両方が優れています。ノンブロッキングIOを使用する場合は、すべての接続にスレッドを必要とせず、必要なスレッドをスレッドプールで管理する必要があります。 –