首页 > 其他 > 详细

ThreadLocal的实现机制

时间:2015-08-16 00:24:38      阅读:288      评论:0      收藏:0      [点我收藏+]

TLS(Thread Local Storage)通过分配更多内存来解决多线程对临界资源访问的互斥问题,即每个线程均自己的临界资源对象,
这样也就不会发生访问冲突,也不需要锁机制控制,比较典型的以空间换时间的策略,下面以Looper为例,介绍Android中TLS的实现原理。
技术分享
技术分享
可以看到TLS技术有几个关键点:
1.每个Thread对象中均保存了一个Values(封装了hash表)
2.将ThreadLocal静态对象作为key,其对应的value为线程对象用的临界资源,这样临界对象在每个线程中均可通过
ThreadLocal静态对象创建,也可以通过该静态对象获取,不会share。
以Handler构造时为例,分析线程中通过Threadlocal访问临界资源的方式:
技术分享
技术分享
技术分享

ThreadLocal的实现机制

原文:http://www.cnblogs.com/tonybright/p/4733292.html

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