文章列表
技术特性
DelayQueue是JDK并发包中提供的一个容器类,顾名思义这个队列提供了一种延迟机制。
容器作用
DelayQueue容器中存储的元素具有时效性,该容器需要和实现了Delayed接口的元素配合使用 ...
什么是ABA问题
我们先来看一个多线程的运行场景:
时间点1 :线程1查询值是否为A
时间点2 :线程2查询值是否为A
时间点3 :线程2比较并更新值为B
时间点4 :线程2查询值是否为B
时间点5 :线程2比较并更新值为A
时间点6 :线程1比较并更新值为C
在这个线程执行场景中,2个线程交替执行。线程1在时间点6的时候依然能够正常的进行CAS操作,尽管在时间点2到时间点6期间已经发生一些意想不到的变化, 但是线程1对这些变化却一无所知,因为对线程1来说A的确还在。通常将这类现象称为ABA问题。
...