没有合适的资源?快使用搜索试试~ 我知道了~
深入理解 Java 之 ThreadLocal 工作原理1
需积分: 0 0 下载量 190 浏览量
2022-08-03
16:05:13
上传
评论
收藏 663KB PDF 举报
温馨提示
试读
7页
声明仅作学习。如有不适,请告知。清晰的看到一个线程Thread中存在一个ThreadLocalMap,ThreadLocalMap中的key对应ThreadLo
资源详情
资源评论
资源推荐
LESS IS MORE
深入理解 Java 之 ThreadLocal 工作原理
09-04,2017
ThreadLocal这个概念很重要,面试也是经常问,由此可见大多数人不容易掌握这个知识
点。其实其实现原理非常简单,简单理解“Thread”即线程,“Local”即本地。连续起来理解
就是 每个线程本地独有的。强烈你推荐看下面的概念引入,我将叙述为什么会有这个概念
的出现。
概念引入
现在的软件开发过程中,并发是很重要的手段。由此而带来的语言层面的切入点就是线程
了,引入多线程开发之后,自然要考虑好同步、互斥、安全等内容。而因为这些需求就出现
了以下三种来实现线程安全的手段。
互斥同步
简单点理解就是通过加锁来实现对临界资源的访问限制。加锁方式有Synchorized和Lock。
非阻塞同步
前面提到的互斥同步属于一种悲观锁机制,非阻塞同步属于乐观锁机制。典型的实现方式就
是CAS操 作。
无同步方案
要保证线程安全,并不是一定就需要同步,两者没有因果关系,同步只是保证共享数据征用
时正确性的手段,如果一个方法本来就不涉及共享数据,那它就不需要任何同步措施去保证
正确性。ThreadLocal的概念就是从这里引申出来的。
示例用法
先通过下面这个实例来理解ThreadLocal的用法。先声明一个ThreadLocal对象,存储布尔
类型的数值。然后分别在主线程中、Thread1、Thread2中为ThreadLocal对象设置不同的数
值:
我要WhatYouNeed
- 粉丝: 42
- 资源: 287
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论0