码迷,mamicode.com
首页 > 其他好文 > 详细

ThreadLocal(关于struts2的ThreadLocal,实际上Jdk1.2就有了)

时间:2017-01-14 15:53:30      阅读:151      评论:0      收藏:0      [点我收藏+]

标签:http   style   通过   serial   不同   action   article   复制   blog   

ThreadLocal是通过在不同线程中操作变量的副本,来达到线程安全的目的,是用空间资源换时间资源的方式。今天在看struts2源码的时候,发现ActionContext中,就持有一个静态的ThreadLocal,如下:

 public class ActionContext implements Serializable { static ThreadLocal actionContext = new ThreadLocal();} 

所以推测一下struts2实现线程安全的方式也采用了这种方法,通过让ActionContext中的map中的公共变量,采用ThreadLocal去复制副本的方式去达到线程安全

同步机制(synchronized)采用了“以时间换空间”的方式,提供一份变量,让不同的线程排队访问。而ThreadLocal采用了“以空间换时间”的方式,为每一个线程都提供了一份变量的副本,从而实现同时访问而互不影响。

想要知道更多,可以参考http://blog.csdn.net/xrt95050/article/details/7324229

ThreadLocal(关于struts2的ThreadLocal,实际上Jdk1.2就有了)

标签:http   style   通过   serial   不同   action   article   复制   blog   

原文地址:http://www.cnblogs.com/yzjT-mac/p/6285357.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!