开发者社区 问答 正文

如何解决Java多线程内存不可见问题?

如何解决Java多线程内存不可见问题?

展开
收起
大葱蘸大酱2 2021-10-13 14:01:51 667 分享 版权
1 条回答
写回答
取消 提交回答
  • volatile 解决多线程内存不可见问题。对于一写多读,是可以解决变量同步问题,但是如果多写,同样无法解决线程安全问题。如果是 count++操作,使用如下类实现: AtomicInteger count = new AtomicInteger(); count.addAndGet(1); 如果是 JDK8,推荐使用 LongAdder 对象,比 AtomicLong 性能更好(减少乐观锁的重试次数)。

    资料来源:电子书《阿里巴巴Java开发手册》,下载链接:https://developer.aliyun.com/topic/download?id=1092

    2021-10-13 14:02:50
    赞同 展开评论