是否共享PageContext线程

时间:2012-08-09 04:43:06

标签: java multithreading jsp servlets

在此link中,我看到以下代码。

synchronized (_jspx_page_context) {
    pageCounter = (jspexamples.counterBean) _jspx_page_context.getAttribute("pageCounter", PageContext.PAGE_SCOPE);
    if (pageCounter == null){
      pageCounter = new jspexamples.counterBean();
      _jspx_page_context.setAttribute("pageCounter", pageCounter, PageContext.PAGE_SCOPE);
    }
}

其中_jspx_page_context的类型为PageContext。为什么在_jspx_page_context上有同步?是否PageContext线程共享?

1 个答案:

答案 0 :(得分:2)

线程共享,意味着多个线程可以随时访问pagecontext。因此,为了确保线程安全,我们必须对pageContext进行synchronize次操作。否则,多个线程可能会更新相同的值,结果将被打开。