请求一段 Java 语法,为啥这段代码会输出 false 呢

2019-10-17 23:09:31 +08:00
 FrankAdler

多线程情况下一个类里的属性,每次调用会内部改变值,然后再调用另外一个方法后值就变了。

https://gist.github.com/fengqi/d8a8dea6751fcfe831e0a0fd3afeeb51

3208 次点击
所在节点    Java
4 条回复
zhilincom
2019-10-17 23:22:25 +08:00
你多线程操作同一个对象的同一个变量还不加锁?至少在 handle 方法上加个 synchronized 啊。
FrankAdler
2019-10-17 23:34:36 +08:00
@zhilincom 明白了,感谢
zhady009
2019-10-18 09:53:59 +08:00
建议把 posId 去除, request 方法添加 requestId 参数 就不用加什么锁了

map 这种可以用 ImmutableMap
FrankAdler
2019-10-18 15:20:05 +08:00
@zhady009 嗯,感谢,已经改用局部变量了

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/610464

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX