JAVA
文章平均质量分 76
宋忠瑾
这个作者很懒,什么都没留下…
展开
-
ThreadLocal有什么作用?有哪些使用场景?
ThreadLocal有什么作用ThreadLocal 的源码,可以看到源码注释中有很清楚的解释:它是线程的局部变量,这些变量只能在这个线程内被读写,在其他线程内是无法访问的。 ThreadLocal 定义的通常是与线程关联的私有静态字段(例如,用户ID或事务ID)。ThreadLocal 是线程本地存储,在每个线程中都创建了一个 ThreadLocalMap 对象,每个线程可以访问自己内部 ThreadLocalMap 对象内的 value。通过这种方式,避免资源在多线程间共享。经典的使用场景是原创 2021-09-15 17:17:09 · 2643 阅读 · 2 评论 -
Reentrantlock锁+事务Transaction的漏洞,正常超卖场景实战!
Reentrantlock锁+事务@Transaction项目中遇到一个问题。对售出商品业务的代码加上该锁,保证不能超卖。首先分析一下,保证多线程的并发安全,1、引入锁Reentrantlock,2 、开启spring的事务管理,保证出现异常进行事务回滚。这一个开发设计的代码代码业务流程这段代码 库存 10个 执行结果 卖出 14个,直接血亏4个 没有货可就是欺诈消费者咱可担待不起!!!!package com.szj.videoblog.articleservice.service.原创 2021-09-03 00:36:03 · 1064 阅读 · 9 评论