开发者社区 问答 正文

URLClassPath在获取特定索引位置的Loader时,为什么需要加两把锁?

URLClassPath在获取特定索引位置的Loader时,为什么需要加两把锁?

展开
收起
萝卜丝丸子 2024-08-28 14:10:06 46 分享 版权
1 条回答
写回答
取消 提交回答
  • URL和Loader是在遍历过程中动态新增的。这意味着在并发环境下,如果没有适当的同步机制,就可能会出现竞态条件,导致数据不一致或程序错误。通过加锁,可以确保在访问或修改loaders数组和lmap映射时,数据的完整性和一致性得到保护。不过,具体的锁实现细节(如是否确实为两把锁,以及锁的类型和范围)可能会因JDK版本和具体实现而异。image.png

    2024-08-28 15:53:03
    赞同 151 展开评论
问答分类:
问答地址: