ThreadLocal小记

      ThreadLocal为每个使用这个变量的线程提供一个独立的变量副本。每个线程都可以独立地改变这个副本,并且相互不会有影响。

 

ThreadLocal和synchronized的区别

它们都是用于解决并发访问问题的,但两者存在本质的区别。

ThreadLocal:

1.采用“以空间换时间”的方式。每个线程提供一份变量,互相不影响。
2.只能使用Object类型,不能使用原子类型。
3.用于线程间的数据隔离。

synchronized:

1.采用“以时间换空间”的方式。提供一份变量,让线程排队进行访问。

2.synchronized可作用于变量、对象引用、static函数和类名称字面常量上。

3.用于线程间的数据共享。

 

ThreadLocal的使用场景

1.存储线程上下文context

2.去除与业务逻辑无关的参数,防止接口污染。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值