并发JavaJava 并发锁
- 分类
- Java 并发
- 难度
- 未设置
- 来源数
- 1
- 更新时间
- 2026/03/28 21:25
答案
synchronized使Java中的一个关键字,它能够解决多线程之间访问资源的同步性,保证它修饰的方法或代码块任一时刻只能有一个线程访问。 在Java的早期版本,synchronized是一个重量级锁,效率低下,因为它使用monitor,依赖于底层操作系统的MutexLock来实现,Java的线程使映射到操作系统的原生线程上的,如果挂起或唤醒一个线程,都需要操作系统来帮忙,需要频繁的切换用户态和内核态,效率较低。 而jdk1.6之后,synchronized引入了偏向锁、轻量级锁、自旋锁、适应性自旋锁、锁粗化、锁消除等操作,减小了锁的开销。
相关题目(5)
Java 并发并发JavaJava 并发锁
Java 并发并发JavaJava 并发
Java 并发并发JavaJava 并发
Java 并发并发JavaJava 并发
有哪些支持并发的集合?共源 1
Java 并发并发JavaJava 并发
元信息
审核状态: active
关联来源: 1
来源面经题(0)
这道题目前没有手动沉淀的面经题来源。
来源(1)
Java八股(并发).md
knowledge_noteQuestion 38: synchronized 是什么?有什么用?
Source answer: synchronized使Java中的一个关键字,它能够解决多线程之间访问资源的同步性,保证它修饰的方法或代码块任一时刻只能有一个线程访问。 在Java的早期版本,synchronized是一个重量级锁,效率低下,因为它使用monitor,依赖于底层操作系统的MutexLock来实现,Java的线程使映射到操作系统的原生线程上的,如果挂起或唤醒一个线程,都需要操作系统来帮忙,需要频繁的切换用户态和内核态,效率较低。 而jdk1.6之后,synchronized引入了偏向锁、轻量级锁、自旋锁、适应性自旋锁、锁粗化、锁消除等操作,减小了锁的开销。
Reviewed answer: synchronized 是 Java 的内置同步关键字,用于保证被修饰的方法或代码块在同一时刻只被一个线程执行,从而保证同步性。早期实现开销较大,JDK 1.6 之后通过偏向锁、轻量级锁、自旋等优化降低了成本。