1 互斥同步(阻塞同步)
悲观锁:synchronized和reentrantLock
2 非阻塞同步
基于冲突检测的乐观并发策略,通俗的说,就是先进行操作,如果没有其他线程争用共享数据,那操作就成功了;如果有争用,产生了冲突,那就再采取其他的补偿措施(最常见的补偿就是不断去尝试,直到成功为止)
我们需要操作和冲突检测这两个步骤具备原子性,靠什么来保证呢?如果这里再使用互斥同步来保证就失去意义了,所以我们只能靠硬件来完成这件事情,硬件保证一个语义上看起来需要多次操作的行为只通过一条处理器指令就能完成.