//只有请求属性与局部变量是线程安全的
/**
* @desc 上下文参数,实例变量,HttpSession都不是线程安全的
*
* 保护上下文属性,需要对上下文加锁:
* synchronized(getServletContext()) { //需要同步的代码块 }
*
* 保护会话属性,对HttpSession同步.
* HttpSession session request.getSession();
* synchronized(session) { //同步代码块 }
*
* 如何使实例变量做到线程安全?
* 根本做不到!写得好的Servlet不应该有任何实例变量,就算有也至少应该是final的
* 所以,如果需要线程安全的状态,就不要使用实例变量,因为Servlet的所有线程都可
* 可以处理实例变量
* */
阅读(1292) | 评论(0) | 转发(0) |