JDK中内置锁的原理和应用有哪些深入理解?
- 内容介绍
- 文章标签
- 相关推荐
本文共计5211个文字,预计阅读时间需要21分钟。
一、序言本文将简要介绍JVM中层面的内置锁,不包括分布式锁。
二、锁的分类锁有多种分类方式,以下是一些常见的分类:
1. 公平锁与非公平锁
2.可重入锁与非可重入锁
3.互斥锁与共享锁
4.乐观锁与悲观锁
5.读写锁与独占锁
三、锁的说明
锁是JVM中用于同步访问共享资源的机制。以下是一些锁的具体说明:1. 公平锁与非公平锁:公平锁保证每个线程都有机会获取锁,而非公平锁则不保证。
2.可重入锁与非可重入锁:可重入锁允许一个线程在持有锁的情况下再次获取该锁,而非可重入锁则不允许。
3.互斥锁与共享锁:互斥锁确保同一时间只有一个线程可以访问共享资源,而共享锁允许多个线程同时读取共享资源。
4.乐观锁与悲观锁:乐观锁假设大多数时间不会发生冲突,因此采用无锁的方式,而悲观锁则假设冲突很常见,因此采用锁的方式。
5.读写锁与独占锁:读写锁允许多个线程同时读取共享资源,但只允许一个线程写入,而独占锁则不允许并发访问。
一、序言本文讲述仅针对 JVM 层次的内置锁,不涉及分布式锁。
锁有多种分类形式,比如公平锁与非公平锁、可重入锁与非重入锁、独享锁与共享锁、乐观锁与悲观锁、互斥锁与读写锁、自旋锁、分段锁和偏向锁/轻量级锁/重量级锁。
下面将配合示例讲解各种锁的概念,期望能够达到如下目标:一是在生产环境中不错误的使用锁;二是在生产环境中选择恰当的锁。
对锁了解不多的情况下,应该首先保证业务的正确性,然后考虑性能,比如万金油synchronized锁或者自带多重属性的ReentrantReadWriteLock锁。不因并发导致业务错误,不出现死锁。
本文共计5211个文字,预计阅读时间需要21分钟。
一、序言本文将简要介绍JVM中层面的内置锁,不包括分布式锁。
二、锁的分类锁有多种分类方式,以下是一些常见的分类:
1. 公平锁与非公平锁
2.可重入锁与非可重入锁
3.互斥锁与共享锁
4.乐观锁与悲观锁
5.读写锁与独占锁
三、锁的说明
锁是JVM中用于同步访问共享资源的机制。以下是一些锁的具体说明:1. 公平锁与非公平锁:公平锁保证每个线程都有机会获取锁,而非公平锁则不保证。
2.可重入锁与非可重入锁:可重入锁允许一个线程在持有锁的情况下再次获取该锁,而非可重入锁则不允许。
3.互斥锁与共享锁:互斥锁确保同一时间只有一个线程可以访问共享资源,而共享锁允许多个线程同时读取共享资源。
4.乐观锁与悲观锁:乐观锁假设大多数时间不会发生冲突,因此采用无锁的方式,而悲观锁则假设冲突很常见,因此采用锁的方式。
5.读写锁与独占锁:读写锁允许多个线程同时读取共享资源,但只允许一个线程写入,而独占锁则不允许并发访问。
一、序言本文讲述仅针对 JVM 层次的内置锁,不涉及分布式锁。
锁有多种分类形式,比如公平锁与非公平锁、可重入锁与非重入锁、独享锁与共享锁、乐观锁与悲观锁、互斥锁与读写锁、自旋锁、分段锁和偏向锁/轻量级锁/重量级锁。
下面将配合示例讲解各种锁的概念,期望能够达到如下目标:一是在生产环境中不错误的使用锁;二是在生产环境中选择恰当的锁。
对锁了解不多的情况下,应该首先保证业务的正确性,然后考虑性能,比如万金油synchronized锁或者自带多重属性的ReentrantReadWriteLock锁。不因并发导致业务错误,不出现死锁。

