Servlet学习笔记—Servlet单例和线程安全问题

来源:互联网 发布:逆战刷枪软件下载 编辑:程序博客网 时间:2024/06/05 22:55

Servlet是单例的!!!

Servlet不是线程安全的!!!

由于Servlet不是线程安全的,所以不会写属性以及不写可以存储数据的属性
看以下反例来说明:

public class HttpServletDemo extends HttpServlet {    private Integer count;    @Override    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {        count++;    }}

由上例看出,在servlet内部定义了一个count属性,由于servlet不是线程安全的(servlet也不会设计成为线程安全的,如果servlet设计成为线程安全的话,意味着各个请求要排队访问资源,这样会大幅降低效率),所以会造成count的并发安全问题

原创粉丝点击