9.ThreadLocal和ActionContext

  1. ThreadLocal该类提供了线程局部(thread-local)变量,这些变量不同于他们普通对应物,因为访问某个变量(通过其get和set方法)每个线程都有自己的局部变量,他独立于变量的初始化副本。ThreadLocal实例通常是类中的private static 字段,他们希望将状态与某一个线程(例如,用户ID或者事务ID)相关联。ThreadLocal是一个容器,存放在该容器中的数据是线程安全的。测试其线程安全的代码截图如下。

Struts2的学习——9.ThreadLocal和ActionContext
2. ActionContext是struts2的上下文对象,它本质就是一个容器,也是一个Map结构的对象,ActionContext贯穿于整个Action的执行生命周期,每次接收请求后都会新建一个ActionCntext对象,将ServletAPI中的数据存入到ActionContext中,实现了Struts2和Servlet的解耦,使得测试可以不依赖于容器,而且ActionContext是线程安全的,由于每次请求都重新创建ActionContext对象,导致执行效率比servlet更低。
Struts2的学习——9.ThreadLocal和ActionContext

相关文章:

  • 2022-12-23
  • 2021-07-19
  • 2021-10-27
  • 2021-11-28
  • 2021-09-14
  • 2021-10-24
  • 2022-12-23
猜你喜欢
  • 2022-12-23
  • 2021-06-27
  • 2021-09-25
  • 2022-12-23
  • 2022-01-13
  • 2022-12-23
  • 2022-01-05
相关资源
相似解决方案