ThreadLocal
2016-03-28 16:52
232 查看
ThreadLocal对象通常当做静态域存储
当使用ThreadLocal维护变量时,ThreadLocal为每个使用该变量的线程提供独立的变量副本,所以每一个线程都可以独立地改变自己的副本,而不会影响其它线程所对应的副本。
ThreadLocal是如何做到为每一个线程维护变量的副本的呢?其实实现的思路很简单:在ThreadLocal类中有一个Map,用于存储每一个线程的变量副本,Map中元素的键为线程对象,而值对应线程的变量副本。
ThreadLocal基本的实现原理(在线程对象里面有一个inner static class)。
参考:http://blog.csdn.net/lufeng20/article/details/24314381
当使用ThreadLocal维护变量时,ThreadLocal为每个使用该变量的线程提供独立的变量副本,所以每一个线程都可以独立地改变自己的副本,而不会影响其它线程所对应的副本。
ThreadLocal是如何做到为每一个线程维护变量的副本的呢?其实实现的思路很简单:在ThreadLocal类中有一个Map,用于存储每一个线程的变量副本,Map中元素的键为线程对象,而值对应线程的变量副本。
ThreadLocal基本的实现原理(在线程对象里面有一个inner static class)。
参考:http://blog.csdn.net/lufeng20/article/details/24314381
相关文章推荐
- js点击按钮倒计时setTimeout和setInterval
- docker: useful commands
- Linux安装Memcached
- 欢迎使用CSDN-markdown编辑器
- 母函数hdu1028
- iOS对象的序列化
- python 寻找遍历指定文件
- Inventor API: 隐藏工程图视图中的某个surface body对应的图线
- IOC很有意思的例子解释
- [iOS]天气查询
- C/C++中.h与.C文件之间联系与作用
- nio-Buffer
- HDU1004 (数组元素出现最多)
- 详解rsync算法--如何减少同步文件时的网络传输量
- 第四周学习总结
- android 利用PullToRefresh组件利用实现下拉刷新的操作步骤
- 用户栈&内核栈
- TCP的三次握手(建立连接)和四次挥手(关闭连接)
- 3.1 Zend_Db_Adapter
- UITableView索引