V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
FrankAdler
V2EX  ›  Java

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

  •  1
     
  •   FrankAdler · 2019-10-17 23:09:31 +08:00 · 3211 次点击
    这是一个创建于 1872 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

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

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

    map 这种可以用 ImmutableMap
    FrankAdler
        4
    FrankAdler  
    OP
       2019-10-18 15:20:05 +08:00
    @zhady009 嗯,感谢,已经改用局部变量了
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1081 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 18:20 · PVG 02:20 · LAX 10:20 · JFK 13:20
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.