サーブレットは同時に複数のリクエストを処理できることは明らかです。たとえば、サーバー(ソケット)上で接続が行われ、この接続を処理すると、サーバーは新しいスレッドを作成し、スレッドはサーブレットのdoGetを呼び出して何かを実行します。それが何かをしている間に別の要求が到着します。新しいスレッドは、他のhttpRequestインスタンスとhttpResponseインスタンスとともにdoGetを呼び出します。私はnetbeansとglasfishを使ってテストを行った。サーブレットのdoGetメソッドでは私が入れ:最初のリクエストが到着したときにサーブレット内のすべてのリクエストを処理するスレッドは1つだけと思われる
synchronized(obj){
try{
obj.wait(50000)
}catch(InterruptedException e)
{
}
は、サーブレットが50秒になるまで、それ以上の要求を受け付けません。これは、後続の要求を取得するために、前のスレッドがそのジョブを実行し、別の要求を取得するために戻る必要があることを意味します。これは同期されたステートメントのためではないことを確認するために、私はブレークポイントを同期する前にいくつかのステートメントに置いていますが、到達しませんでした。