模型服务连接失败
并发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 并发
Java 并发并发JavaJava 并发

元信息

审核状态: active
关联来源: 1

来源面经题(0)

这道题目前没有手动沉淀的面经题来源。

来源(1)

Java八股(并发).md

knowledge_note
Question 38: synchronized 是什么?有什么用? Source answer: synchronized使Java中的一个关键字,它能够解决多线程之间访问资源的同步性,保证它修饰的方法或代码块任一时刻只能有一个线程访问。 在Java的早期版本,synchronized是一个重量级锁,效率低下,因为它使用monitor,依赖于底层操作系统的MutexLock来实现,Java的线程使映射到操作系统的原生线程上的,如果挂起或唤醒一个线程,都需要操作系统来帮忙,需要频繁的切换用户态和内核态,效率较低。 而jdk1.6之后,synchronized引入了偏向锁、轻量级锁、自旋锁、适应性自旋锁、锁粗化、锁消除等操作,减小了锁的开销。 Reviewed answer: synchronized 是 Java 的内置同步关键字,用于保证被修饰的方法或代码块在同一时刻只被一个线程执行,从而保证同步性。早期实现开销较大,JDK 1.6 之后通过偏向锁、轻量级锁、自旋等优化降低了成本。