为了账号安全,请及时绑定邮箱和手机立即绑定

servlet httpSession 的属性为什么不在内部实现线程同步?

servlet httpSession 的属性为什么不在内部实现线程同步?

繁花如伊 2019-03-21 22:19:40
图中说的是对HttpSession进行修改的时候需要同步操作,这个我理解。问题是,这个同步锁为啥不是直接写在HttpSession的setAttribute方法内部的,这样在使用setAttribute的时候就直接线程安全了。否则你需要所有使用到同一个HttpSession的位置都进行synchronized(session)操作,这对编码者的要求比较高,只要有一个人写错了就完蛋了。进一步说,我觉得框架设计时,就应该规避掉人为犯错的可能,能够通过机制解决的问题不要靠人的觉悟。缺点,我想到的只是这样会消耗资源,当不存在线程同步问题时,比如就只要一个线程使用HttpSession,还会加解锁消耗一定的资源。
查看完整描述

1 回答

  • 1 回答
  • 0 关注
  • 425 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信