java多线程之线程封闭

当访问公共变量的时候就需要同步才能线程安全。线程封闭就可以免去同步操作就可以实现线程安全。

常见的应用场景:

在JDBC中的Connection对象并不是线程安全的。在典型的Servlet应用中,请求是同步的,请求直接使用用Connection对象访问数据库,使用完再返回给链接池给下一个请求使用,并且在链接返回之前不会给其他线程使用。

这种方式就叫做线程封闭技术

java里面推荐使用线程封闭方法有两种 栈封闭和ThreadLocal

栈封闭

java中方法和方法之间的变量(局部变量)是互相隔离的,当多个线程访问一个方法时只要这个方法操作只有局部变量那么就是线程安全的。

ThreadLocal

ThreadLocal可以看做一个是Map<Thread,T>的对象,当set的时候只有调用set的线程调用get才能得到value,因此每个线程直接是互不干扰的

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值