阿里一面:ReadWriteLock 读写互斥机制是怎样的?我竟一知半解。

2026-05-05 23:191阅读0评论SEO问题
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计759个文字,预计阅读时间需要4分钟。

阿里一面:ReadWriteLock 读写互斥机制是怎样的?我竟一知半解。

在开发过程中,遇到并发的常见问题通常会导致死锁,如Synchronized存在的一个明显性能问题就是读与读之间的互斥;读写分离锁(ReadWriteLock)是JDK5中提供的读写分离机制。读写分离锁能有效减少锁的竞争,提升系统性能。

开发中遇到并发的问题一般会用到锁,Synchronized存在明显的一个性能问题就是读与读之间互斥;ReadWriteLock是JDK5中提供的读写分离锁。读写分离锁可以有效地帮助减少锁竞争,以提升系统的性能。

ReadWriteLock管理一组锁,一个是只读的锁,一个是写锁。
Java并发库中ReetrantReadWriteLock实现了ReadWriteLock接口并添加了可重入的特性。

而读写锁ReentrantReadWriteLock:读读共享,读写互斥,写写互斥;读写锁维护了一对锁,一个读锁,一个写锁,通过分离读锁和写锁,使得并发性相比一般的排他锁有了很大提升。在读多写少的情况下,读写锁能够提供比排他锁更好的并发性和吞吐量。

从源码中可以看出,读写锁中同样依赖队列同步器Sync(AQS)实现同步功能,而读写状态就是其同步器的同步状态。下面从例子中来说明:读读共享,读写互斥,写写互斥。

阅读全文

本文共计759个文字,预计阅读时间需要4分钟。

阿里一面:ReadWriteLock 读写互斥机制是怎样的?我竟一知半解。

在开发过程中,遇到并发的常见问题通常会导致死锁,如Synchronized存在的一个明显性能问题就是读与读之间的互斥;读写分离锁(ReadWriteLock)是JDK5中提供的读写分离机制。读写分离锁能有效减少锁的竞争,提升系统性能。

开发中遇到并发的问题一般会用到锁,Synchronized存在明显的一个性能问题就是读与读之间互斥;ReadWriteLock是JDK5中提供的读写分离锁。读写分离锁可以有效地帮助减少锁竞争,以提升系统的性能。

ReadWriteLock管理一组锁,一个是只读的锁,一个是写锁。
Java并发库中ReetrantReadWriteLock实现了ReadWriteLock接口并添加了可重入的特性。

而读写锁ReentrantReadWriteLock:读读共享,读写互斥,写写互斥;读写锁维护了一对锁,一个读锁,一个写锁,通过分离读锁和写锁,使得并发性相比一般的排他锁有了很大提升。在读多写少的情况下,读写锁能够提供比排他锁更好的并发性和吞吐量。

从源码中可以看出,读写锁中同样依赖队列同步器Sync(AQS)实现同步功能,而读写状态就是其同步器的同步状态。下面从例子中来说明:读读共享,读写互斥,写写互斥。

阅读全文