# Reentrant-ReadWrite-Lock **Repository Path**: wb6class/reentrant-ReadWrite-lock ## Basic Information - **Project Name**: Reentrant-ReadWrite-Lock - **Description**: 读写锁的例子与介绍 - **Primary Language**: Java - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-07-25 - **Last Updated**: 2025-07-25 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Reentrant-ReadWrite-Lock #### 介绍 读写锁的例子与介绍 ## 读写锁的使用 ``` 写——写:互斥,一个线程在写的同时,其它线程会被阻塞。 读——写:互斥,读的时候不能写,写的时候不能读。 读——读:不互斥,不阻塞。 //读写锁在同一时刻可以允许 多个读线程 访问;但是 写线程 访问时,所有的读线程和其它线程均被阻塞。 --------------------------原则------------------------------------- 1. 支持非公平和公平锁的获取。 2. 重入性:读线程在获取 读锁 之后,能够再次获取 读锁 。而 写线程 在获取了 写锁 之后能够再次获取 写锁,同时也可以获取 读锁 3. 锁降级:遵循获取写锁、获取读锁再释放写锁的次序,写锁能够降级为读锁。(指把当前拥有的写锁,再获取读锁,随后释放先前拥有的写锁的过程) ```