在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
多线程操作会带来不一致性,为了实现一直性。我们可以用关键字:synchronized同步对象或者volatile轻量级、内存可见性。 两个关键字使用对比: 1、synchronized比较重,属于悲观锁机制,造成冲突大,线程间的上下文切换多,资源浪费。 比如我们就实现计数操作。 2、volatile轻量级内存可见性,非阻塞式,性能更高。 java已经实现了很多原子操作类:在java.util.concurrent包里 AtomicBoolean:原子Boolean类型 及相应的数组类型: AtomicIntegerArray 为了便于以原子方式更新对象中的字段,还有如下的类: AtomicMarkableReference 实现原理就是用到volatile关键字声明变量。 |
请发表评论