long double用在线程

long double在64bit环境里是按照两个32bit操作的,所以赋值不是atomic的。在并发线程中保证atomic,需要注意。

  1. 使用java.util.concurrent.atomic中atomicLong,atomicDouble。
  2. 使用lock,unlock同步赋值操作
  3. 使用volatile 定义变量
  4. 几种方式的性能未知

volatile基本含义是更新cpu cache中的值到main memory。在多线程环境中,不同线程变量值不一定会实时同步到main memory,会导致shared对象的值不一致。volatile可以确保shared object值一致,对读数据来说这就足够了,但对写操作,仍需要处理多线程同时写的问题。

展开阅读全文

没有更多推荐了,返回首页

©️2019 CSDN 皮肤主题: 大白 设计师: CSDN官方博客
应支付0元
点击重新获取
扫码支付

支付成功即可阅读