Java中synchronized关键字如何实现不同类型的锁机制?
- 内容介绍
- 文章标签
- 相关推荐
本文共计1669个文字,预计阅读时间需要7分钟。
前言:Java 中的 synchronized 关键字可以在多线程环境下用来作为线程安全的同步锁。本文不讨论 synchronized 的具体使用,而是研究其底层的锁机制,以及不同锁的特点和优缺点。
前言
Java 中的 synchronized关键字可以在多线程环境下用来作为线程安全的同步锁。本文不讨论 synchronized 的具体使用,而是研究下synchronized底层的锁机制,以及这些锁分别的优缺点。
一 synchronized机制
synchronized关键字是JAVA中常用的同步功能,提供了简单易用的锁功能。
synchronized有三种用法,分别为:
用在普通方法上,能够锁住当前对象。用在静态方法上,能够锁住类用在代码块上,锁住的是synchronized()里的对象
在JDK6之前,synchronized使用的是重量级锁制,在之后synchronized加入了锁膨胀机制,显著提升了synchronized关键字的效率。
基于synchronized关键字,我们来了解下几种类别的锁,并且讲解synchronized的锁膨胀机制。
synchronized锁是非公平锁。
本文共计1669个文字,预计阅读时间需要7分钟。
前言:Java 中的 synchronized 关键字可以在多线程环境下用来作为线程安全的同步锁。本文不讨论 synchronized 的具体使用,而是研究其底层的锁机制,以及不同锁的特点和优缺点。
前言
Java 中的 synchronized关键字可以在多线程环境下用来作为线程安全的同步锁。本文不讨论 synchronized 的具体使用,而是研究下synchronized底层的锁机制,以及这些锁分别的优缺点。
一 synchronized机制
synchronized关键字是JAVA中常用的同步功能,提供了简单易用的锁功能。
synchronized有三种用法,分别为:
用在普通方法上,能够锁住当前对象。用在静态方法上,能够锁住类用在代码块上,锁住的是synchronized()里的对象
在JDK6之前,synchronized使用的是重量级锁制,在之后synchronized加入了锁膨胀机制,显著提升了synchronized关键字的效率。
基于synchronized关键字,我们来了解下几种类别的锁,并且讲解synchronized的锁膨胀机制。
synchronized锁是非公平锁。

