
Java并发
文章平均质量分 90
Java并发
RollingCode_999
这个作者很懒,什么都没留下…
展开
-
Java中的ReentrantLock
AQS是java并发包下的一个抽象类,不能使用它直接创建一个对象具体锁的实现需要通过继承AQS。原创 2025-03-03 10:06:36 · 617 阅读 · 0 评论 -
Java中的Collections.synchronizedList()和CopyOnWriteArrayList
我们知道在多线程的环境下并不是线程安全的,那如果我们需要在多线程的场景下使用连续存储并且数据具有有序性,可直接快速访问元素的集合时,可以使用或者替代Collections.synchronizedList()用于将普通的List转化为线程安全的同步列表。其底层是基于,通过包装将原始列表转换为对其所有操作都添加同步锁,来确保多线程的环境下的安全性。原创 2025-02-24 12:48:23 · 1729 阅读 · 0 评论 -
Java中的synchronized
c++;c--;return c;如果是多个线程同时对同一个Counter对象进行数据操作,可能会因为多个线程的最终执行顺序不同而导致最终结果不同。代码中对变量c的+1获取当前c的值对c进行+1操作将计算后的结果写入内存c--操作与c++操作是一样的拆分步骤,只是第二步的+1变成了-1线程A获取到c线程B获取到c线程A对c进行-1操作线程B对c进行+1操作线程B将结果写回内存,此时c的值是1线程A将结果写回内存,此时c的值是-1。原创 2025-02-12 16:40:29 · 1176 阅读 · 0 评论 -
Java中synchronized的底层原理
上一篇讲了为什么需要同步,以及关键字的使用,这一篇分析一下的底层原理。原创 2025-02-14 17:50:18 · 863 阅读 · 0 评论