开发者社区 问答 正文

如果 m_waiting 的位图中没有与当前请求锁类型不兼容的锁,接下来会进行哪些检查?

如果 m_waiting 的位图中没有与当前请求锁类型不兼容的锁,接下来会进行哪些检查?

展开
收起
不吃核桃 2024-08-06 08:11:10 30 分享 版权
1 条回答
写回答
取消 提交回答
  • 如果 m_waiting 的位图中没有与当前请求锁类型不兼容的锁(即 m_waiting.bitmap() & waiting_incompat_map 为 0),接下来会检查快速路径授予的锁(如果有的话)是否与当前请求锁类型不兼容。这是通过检查 fast_path_granted_bitmap() 与 granted_incompat_map 的位图交集来实现的。如果也不存在兼容性问题,则会进一步检查 m_granted 链表中的锁。

    2024-08-06 14:45:50
    赞同 1 展开评论
问答地址: