美文网首页
自旋锁CAS例子

自旋锁CAS例子

作者: Visualing | 来源:发表于2021-10-29 14:23 被阅读0次

`

package spin;

import java.util.concurrent.atomic.AtomicReference;

public class spinDemo {

    AtomicReference<Thread> atomicReference = new AtomicReference<>();

    //加锁

    public void myLock(){

        Thread thread = Thread.currentThread();

        //重点 使用CAS

        while (!atomicReference.compareAndSet(null, thread)){

          System.out.println(Thread.currentThread().getName()+"\t想拿到锁");

        }

        System.out.println(Thread.currentThread().getName()+"\t拿到锁");

    }

    //解锁

    public void myUnLock(){

        Thread thread = Thread.currentThread();

        System.out.println(Thread.currentThread().getName()+"\t解锁");

        atomicReference.compareAndSet(thread, null);

    }

}

`

相关文章

  • 自旋锁CAS例子

    ` package spin; import java.util.concurrent.atomic.Atomic...

  • Java多线程-深入

    CAS Compare And Swap (Compare And Exchange) / 自旋 / 自旋锁 / ...

  • 多线程(6) — CAS自旋及问题

    自旋锁CAS: CAS:Compare and Swap, 即比较交换。在轻量级锁升级为重量级锁时就用到了自旋锁C...

  • 锁的总结

    序号锁名称应用实例1乐观锁CAS2悲观锁synchronized、vector、hashtable3自旋锁CAS4...

  • 极简CAS

    CAS 乐观锁 compare and then swap else 自旋 Atomic的核心操作就是CAS(co...

  • Java CAS

    CAS和LockSupport可以说贯穿了java并发包(自旋锁 + CAS + LockSupport + 内存...

  • Java自旋锁的分类

    自旋锁 自旋锁(spin lock)是一个典型的对临界资源的互斥手段,自旋锁是基于CAS原语的,所以它是轻量级的同...

  • CAS(自旋锁)

    synchronized能够保证线程安全,但synchronized是重量级锁,性能低;可以使用CAS进行锁优化,...

  • 自旋锁和互斥锁的区别 java中lock Syntronized

    自旋锁和互斥锁的区别 java中lock Syntronized区别无锁编程以及CAS

  • 多线程与高并发知识点简述

    CAS和Atomic包 CAS操作流程: JDK5之后发布了基于乐观锁思想的自旋锁(无锁)java.util.co...

网友评论

      本文标题:自旋锁CAS例子

      本文链接:https://www.haomeiwen.com/subject/yopialtx.html