1
mengzhuo 2016-03-22 21:51:17 +08:00 via iPhone
囧
碰到这样的的说明你的上层接口设计不当 所有需要锁的地方都要用统一的 get set |
2
bcxx 2016-03-22 21:58:40 +08:00
多用 interface ...
|
3
elgoog1970 2016-03-22 22:10:27 +08:00
go is not java
|
4
zonghua 2016-03-22 22:20:16 +08:00
@elgoog1970 让我又想到了递归命名法, go is not java `ginj`
|
5
zyguan 2016-03-22 22:30:44 +08:00
如果你的实现不可避免的存在竞争条件,那加锁也没什么可耻的。而且加锁也不是非要在 getter/setter 上加,别套用 java 的 synchronized ,完全可以在相关逻辑代码中加,如果逻辑复杂多处竞争,那你就真该考虑优化优化设计了。另外,既然用 go ,那还是尽量多用 channel 少用共享可变量吧。
|
6
darasion OP |