随笔分类 -  并发编程

摘要:相同点 可重入性 两者都支持可重入,同一线程可以多次获取相同的锁 都维护着获取锁的次数计数器 公平性策略 都支持公平锁和非公平锁模式 构造函数都可以指定是否采用公平策略 底层实现 都基于 AbstractQueuedSynchronizer(AQS)框架实现 都支持中断响应和超时获取锁 内存语义 都 阅读全文
posted @ 2025-11-28 14:02 yub4by 阅读(5) 评论(0) 推荐(0)
摘要:基本概念 ReentrantReadWriteLock 是 Java 并发包中的一个可重入读写锁实现,它将锁分为读锁和写锁两种: 读锁:共享锁,允许多个线程同时获取读锁进行读操作 写锁:独占锁,同一时间只能有一个线程获取写锁进行写操作 核心特性 读读不互斥:多个读操作可以并发执行 读写互斥:读操作和 阅读全文
posted @ 2025-11-28 13:49 yub4by 阅读(7) 评论(0) 推荐(0)
摘要:基本概念 ReentrantLock 是 Java 幑发包中提供的可重入互斥锁,相比 synchronized 关键字提供了更高的灵活性和功能。 典型使用场景 1. 防止重复提交 防止用户重复点击按钮导致的重复业务处理。 2. 缓存双检锁机制 在缓存失效时,防止多个线程同时重建缓存。 3. 资源竞争 阅读全文
posted @ 2025-11-28 13:47 yub4by 阅读(9) 评论(0) 推荐(0)
摘要:基本概念 synchronized(this) 是 Java 中的一种同步机制,通过对当前对象实例加锁来保证线程安全。当一个线程进入被 synchronized(this) 修饰的代码块时,会获取当前对象的锁,其他线程必须等待该线程释放锁后才能进入。 基本语法 public class MyClas 阅读全文
posted @ 2025-11-27 17:40 yub4by 阅读(9) 评论(0) 推荐(0)
摘要:1. 进程与线程 1.1 进程概念 程序由指令和数据组成,但这些指令要运行,数据要读写,就必须将指令加载至 CPU,数据加载至内存。在 指令运行过程中还需要用到磁盘、网络等设备。进程就是用来加载指令、管理内存、管理 IO 的 当一个程序被运行,从磁盘加载这个程序的代码至内存,这时就开启了一个进程。 阅读全文
posted @ 2022-04-06 10:26 yub4by 阅读(47) 评论(0) 推荐(0)