FrankAdler
V2EX  ›  Java

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

  •  1
     
  •   FrankAdler · Oct 17, 2019 · 3728 views
    This topic created in 2448 days ago, the information mentioned may be changed or developed.

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

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

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

    map 这种可以用 ImmutableMap
    FrankAdler
        4
    FrankAdler  
    OP
       Oct 18, 2019
    @zhady009 嗯,感谢,已经改用局部变量了
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   3337 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 38ms · UTC 10:54 · PVG 18:54 · LAX 03:54 · JFK 06:54
    ♥ Do have faith in what you're doing.