首页 > 其他 > 详细

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

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

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://www.cnblogs.com/yzjT-mac/p/6285357.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!