开发者社区 问答 正文

如何确定_lock是否用于保护对_deferredTasks的多线程读写?

在_deferredTasks和_lock的关系中,如何确定_lock是否用于保护对_deferredTasks的多线程读写?

展开
收起
夹心789 2024-06-27 12:04:28 54 发布于浙江 分享
分享
版权
举报
1 条回答
写回答
取消 提交回答
  • "在文件中全文搜索正则表达式x.{1,2}, #0x10筛选出所有引用_lock的指令以及所属方法,操作类似上述的_deferredTasks;从上可知,UIKeyboardTaskQueue类对_lock的使用封装成 4 个方法(忽略init创建和.cxx_destruct销毁的两个方法,该两方法不会有并发问题),也就是方法使用_lock必定会调用这 4 个方法。
    解锁方法有 1 个:

    1. -[UIKeyboardTaskQueue unlock]
      加锁方法有 3 个:
    2. -[UIKeyboardTaskQueue lock]
    3. -[UIKeyboardTaskQueue lockWhenReadyForMainThread]
    4. -[UIKeyboardTaskQueue tryLockWhenReadyForMainThread]"
    2024-06-27 13:29:27 举报
    赞同 2 评论

    评论

    全部评论 (0)

    登录后可评论