开发者社区 问答 正文

为什么锁的范围必须包含读共享资源?

为什么锁的范围必须包含读共享资源?

展开
收起
不吃核桃 2024-08-05 21:03:54 37 分享 版权
1 条回答
写回答
取消 提交回答
  • 如果针对某个共享资源的写操作是基于另一个共享资源的值计算而来,锁的范围必须包含读共享资源。这是为了防止脏读,即一个线程读取了共享资源的旧值进行计算,而在此期间该共享资源的值已被其他线程修改,导致最终写入的数据基于错误的数据计算而来,造成数据错误。image.png

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