java中的无锁模式——CAS

CAS(Compare and Swap比较并交换)是一种比较特殊的并发策略,它包含三个参数:原内存值、预期值、新的值。当线程进行操作时先对比原内存值与预期值是否相同,若不同则表明数据发生过变动,当前线程放弃本次数据操作,但是允许再次尝试。当多个线程同时操作时能够保证只有一个线程操作成功,其他线程重新操作或放弃而不会被挂起。整个过程不涉及锁竞争及线程调度带来的开销,性能更优并且天生对死锁免疫。 j
相关文章
相关标签/搜索