Chinaunix首页 | 论坛 | 博客
  • 博客访问: 2780949
  • 博文数量: 77
  • 博客积分: 10204
  • 博客等级: 上将
  • 技术积分: 5035
  • 用 户 组: 普通用户
  • 注册时间: 2006-03-05 22:13
文章分类
文章存档

2013年(1)

2010年(1)

2009年(17)

2008年(58)

我的朋友

分类: Java

2008-04-06 13:21:14

       //只有请求属性与局部变量是线程安全的        

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