一、非阻塞式同步原理:基于冲突检测的乐观并发策略,通俗地讲,就是先进行操作,如果没有其它线程争用共享数据,那操作
就成功了;如果共享数据争用,产生了冲突,再采取其它的补偿措施(常见的措施是,不断重试,直到成功为止)。
二、乐观并发策略需要“硬件指令集的发展”,常用的指令包括:
1.测试并设置(test-and-set),2.获取并增加(fecth-and-increment),3.交换(swap),
4.比较并交换(compare-and-swap,即CAS,应用较多,着重了解),5.加载链接/条件存储(LL/SC)
三、CAS:需要3个操作数,变量的内存地址v,旧的预期值 A,新值B;当且仅当V 和旧的预期值相符时,才会用新值B更新V,否则不执行,但是无论执行与否,都会返回V的旧值。这个过程就是一个原子操作。
----以上都是抄的书里的概念,感觉重点难懂的地方记录下来,慢慢理解,但是个人感觉这个原子操作和redis的 setnx命令有些类似