摘要: 什么是非阻塞算法呢? 在基于锁的算法中可能会发生各种活跃性故障。如果线程在持有锁时由于阻塞IO,内存页缺失或其他延迟而导致推迟执行,那么很可能所有线程都不能继续执行下去。 如果在算法中,一个线程的失败或者挂起不会导致其他线程也失败或挂起,那么这种算法就被称为非阻塞算法。如果在算法的每个步骤中都存在某 阅读全文
posted @ 2019-11-26 22:04 泥古拉斯赵四 阅读(252) 评论(0) 推荐(0) 编辑
摘要: 之前看源代码的时候,发现了有两个方法。一个是compareAndSet,一个是compareAndSwap, 傻傻分不清这两个到底哪个是CAS呢。 我看了java并发编程实战 找到了答案。 CAS 是一种计算机的指令。 CAS包含3个操作数, 需要读写的内存位置V,进行比较的值A和拟写入的新值B。当 阅读全文
posted @ 2019-11-26 21:09 泥古拉斯赵四 阅读(4032) 评论(0) 推荐(0) 编辑