Có thể lấy HTTPServletRequest ra khỏi chuỗi của nó, giải thể luồng này (nghĩa là đưa nó trở lại hồ bơi), nhưng giữ kết nối cơ bản với trình duyệt đang hoạt động, cho đến khi tôi nhận được kết quả từ một hoạt động tốn thời gian (nói, xử lý một hình ảnh)? Khi dữ liệu trả về được xử lý, một phương thức khác sẽ được gọi là không đồng bộ và được cung cấp yêu cầu cũng như dữ liệu dưới dạng tham số.Thực hiện bỏ phiếu dài theo cách không đồng bộ
Thông thường, các chức năng tổng hợp dài theo kiểu bị chặn khá tốt, trong đó luồng hiện tại không bị giải thể, làm giảm khả năng mở rộng của ứng dụng phía máy chủ, về các kết nối đồng thời.
Bạn đã thử Servlet 3.0 và Servlet không đồng bộ không? http://download.oracle.com/javaee/6/api/javax/servlet/annotation/WebServlet.html#asyncSupported%28%29 Nó sẽ trả lại luồng của bạn tới hồ bơi, nhưng cho phép xử lý một số hoạt động lâu dài và đọc yêu cầu của người dùng –