猿教程 Logo

SingleThreadModel 接口

servlet程序员应该实现SingleThreadModel接口,以确保servlet一次只能处理一个请求。 它是一个标记接口,意味着没有方法。

自Servlet API 2.4以来,此接口目前已被弃用,因为它不解决所有线程安全问题,例如静态变量和会话属性可以同时被多个线程访问,即使我们已经实现了SingleThreadModel接口。 因此建议使用其他方法来解决这些线程安全问题,如同步块等。


SingleThreadModel接口的示例

让我们看看实现SingleThreadModel接口的简单例子。

import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletException;
import javax.servlet.SingleThreadModel;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

public class MyServlet extends HttpServlet implements SingleThreadModel{
public void doGet(HttpServletRequest request, HttpServletResponse response)
	throws ServletException, IOException {
	response.setContentType("text/html");
	PrintWriter out = response.getWriter();
		
	out.print("welcome");
	try{Thread.sleep(10000);}catch(Exception e){e.printStackTrace();}
	out.print(" to servlet");
	out.close();
	}
}


版权声明:本站所有教程均为本站原创或翻译,转载请注明出处,请尊重他人劳动果实。请记住本站地址:www.yuanjiaocheng.net (猿教程) 作者:卿文刚
本文标题: C#环境
本文地址:http://www.yuanjiaocheng.net/Servlet/SingleThreadModel-interface.html