
并发编程
文章平均质量分 68
咕了个咕
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Spring + Shiro 线程复用时session获取问题
项目上使用Shiro框架,在使用多线程进行业务处理的时候,发现用shiro获取到的session不对 源码追踪,查找原因 Shiro获取session Session session = SecurityUtils.getSubject().getSession() 然后我们往下看 SecurityUtils 的 getSubject() 方法 /** * Returns the currently accessible {@code Subject} available to t.原创 2021-06-28 11:23:32 · 1182 阅读 · 0 评论 -
线程同步的几种手段-JUC
一、同步手段的简单介绍 JUC即 java.util.concurrent 包,里面提供了很多用于线程同步的类,下面我们来简单列举一下线程同步的手段: 手动编程,使用同步关键字 volatile 关键字,为变量添加内存屏障,禁止指令重排优化,只能保证变量可见性,不能保证原子性 synchronized关键字,在进行数据对比修改的地方加上同步 wait、notify、notifyAll等方...原创 2020-04-13 10:39:32 · 488 阅读 · 0 评论 -
CAS(比较并交换)详解
一、什么是CAS? CAS(Compare And Swap),就是比较并交换,是解决多线程情况下,解决使用锁造成性能损耗问题的一种机制。 CAS包含三个操作数: 变量内存位置(V) 预期的变量原值(A) 变量的新值(B) 当要对变量进行修改时,先会将内存位置的值与预期的变量原值进行比较,如果一致则将内存位置更新为新值,否则不做操作,无论哪种情况都会返回内存位置当前的值。 二、CAS的实践案例...原创 2020-04-07 10:22:22 · 4099 阅读 · 5 评论