开发者社区 问答 正文

在什么情况下,即使MDL锁是"unobtrusive"类型,也需要走慢路径(slow path)?

在什么情况下,即使MDL锁是"unobtrusive"类型,也需要走慢路径(slow path)?

展开
收起
不吃核桃 2024-08-05 23:43:46 53 分享 版权
1 条回答
写回答
取消 提交回答
  • 如果MDL_lock::m_fast_path_state包含HAS_OBTRUSIVE标志,表示存在已授予或待处理的"obtrusive"类型锁(如SU、SRO、X等),或者有线程正在尝试检查是否可以获取此类锁。在这些情况下,即使当前请求是"unobtrusive"类型的锁,也需要走慢路径(slow path),因为"obtrusive"锁与"unobtrusive"锁之间可能存在互斥关系。

    2024-08-06 08:11:10
    赞同 1 展开评论
问答地址: