zoukankan      html  css  js  c++  java
  • ActionContext-study

      ActionContext contex=ActionContext.getContext();

      Actioncontext是上下文是一个容器,存放着Action这执行时要用到的一些对象,

      如params,session,servletContext,本地化(Locale)信息等。

      在每次执行时都会创建新的ActionContext,是线程安全的,也就是说在同一个线程里

      ActionConctext是唯一的,这样我的Action就可以在多线程中使用

      

      public static ActionContext getContext() {

      ActionContext context = (ActionContext) actionContext.get();

      if (context == null) {

      OgnlValueStack vs = new OgnlValueStack();

      context = new ActionContext(vs.getContext());

      setContext(context);

      }

      return context;

      }

    一般情况,我们的ActionContext都是通过:ActionContext context = (ActionContext) actionContext.get();来获取的。我们再来看看这里的actionContext对象的创建:static ThreadLocal actionContext = new ActionContextThreadLocal();,ActionContextThreadLocal是实现ThreadLocal的一个内部类。ThreadLocal可以命名为“线程局部变量”,它为每一个使用该变量的线程都提供一个变量值的副本,使每一个线程都可以独立地改变自己的副本,而不会和其它线程的副本冲突。这样,我们ActionContext里的属性只会在对应的当前请求线程中可见,从而保证它是线程安全的。

  • 相关阅读:
    C#串口通信程序SerialPort类
    51单片机和PC串口异步通信
    Robotics ToolBox机械臂仿真
    51单片机和PC串口异步通信(续)
    谈谈FFT有何用
    volatile关键字的使用
    如何走好后面的路
    51单片机液晶显示计时器
    IDE86汇编语言环境使用
    不使用跳转的宏CV_IMIN分析
  • 原文地址:https://www.cnblogs.com/MyITRoad0916/p/5507633.html
Copyright © 2011-2022 走看看