AI / 编程与调试
列出被多线程读写的字段,逐个判断加锁、改副本还是改设计
这个 [类/模块] 里的 [字段名] 会被 [调用方数量] 处读写,目前没有任何同步措施。请列出所有读写点及其执行线程,判断哪些存在跨线程可见性问题;再逐个给出处理方式:加锁、改成不可变副本、用原子类型、或收敛到单线程处理。优先给改动最小的方案,并说明它放弃了什么。
中文原文
只加锁不改设计,往往把竞态换成了性能问题和死锁。