在什么情况下,即使MDL锁是"unobtrusive"类型,也需要走慢路径(slow path)?
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
如果MDL_lock::m_fast_path_state包含HAS_OBTRUSIVE标志,表示存在已授予或待处理的"obtrusive"类型锁(如SU、SRO、X等),或者有线程正在尝试检查是否可以获取此类锁。在这些情况下,即使当前请求是"unobtrusive"类型的锁,也需要走慢路径(slow path),因为"obtrusive"锁与"unobtrusive"锁之间可能存在互斥关系。