模型服务连接失败

线程持有读锁还能获取写锁吗?

并发JavaJava 并发
分类
Java 并发
难度
未设置
来源数
1
更新时间
2026/03/28 21:25

答案

线程持有读锁时,是不能获取写锁的,因为在获取写锁时,如果读锁被线程持有,就会直接获取失败,不论读锁是哪个线程持有。 而线程持有写锁时,是能够获取读锁的,只有写锁被其他线程占有时,才不能获取读锁。

相关题目(5)

Java 并发并发JavaJava 并发
Java 并发并发JavaJava 并发
Java 并发并发JavaJava 并发
Java 并发并发JavaJava 并发
Java 并发并发JavaJava 并发

元信息

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

来源面经题(0)

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

来源(1)

Java八股(并发).md

knowledge_note
Question 59: 线程持有读锁还能获取写锁吗? Source answer: 线程持有读锁时,是不能获取写锁的,因为在获取写锁时,如果读锁被线程持有,就会直接获取失败,不论读锁是哪个线程持有。 而线程持有写锁时,是能够获取读锁的,只有写锁被其他线程占有时,才不能获取读锁。 Reviewed answer: 通常不能。线程持有读锁时再获取写锁会失败;而线程持有写锁时可以继续获取读锁,因此支持写锁降级但不支持读锁升级。