CAS 和 ABA 问题

在多并发程序设计中,我们不得不面对并发、互斥、竞争、死锁、资源抢占等问题,归根结底就是读写的问题,有了读写才有增删改查,才有一切。同样也有了谁读谁写、这样的顺序和主次问题,于是就有了上锁,乐观锁和悲观锁、同步和异步、睡眠和换入换出等问题,归根结底就是模拟了社会的分工协作与资源共享的抢占,要理解好这些现象的本质,我们需要更加深刻的进行类比和辨析。要知道这些内容的本质就是内存和CPU之间的故事,有时候还会有一些外存和其他缓存。

https://www.cnblogs.com/zyrblog/p/9864932.html