サーブレットのマルチスレッドでの動作に関する質問です。

サーブレットは、1インスタンス・マルチスレッドだそうですが、
下記のようなサーブレットの場合、ユーザーAのスレッドが
(2)に達する直前に、ユーザーBのスレッドが(1)の処理を
行うとAのセッションにはBのUserオブジェクトがセットされて
いるということが起こるのでしょうか?

public void doPost(HttpServletRequest request,
           HttpServletResponse response)
           throws ServletException, IOException {

  String userId = request.getParameter("userId");
  String password = request.getParameter("password");
  
  // ログイン処理。データベースからユーザーデータを取り出し、
  // Userオブジェクトを生成。
  User user = // (1)ログイン処理
  
  HttpSession session = request.getSession();
  session.setAttribute("user", user); // (2)セッションに User をバインド
  
  ReqeustDispatcher rd = request.getRequestDispatcher("ログイン後のページ");
  rd.forward(request, response);
}