zoukankan      html  css  js  c++  java
  • JDK提供的几种常用的锁

    • 可重入互斥锁: Lock lock = new ReentrantLock()

        lock.lock();

          ...

        lock.unlock();

    • 信号量: Semaphore semaphore = new Semaphore(3);

        semaphore.acquire();

          ...

        semaphore.release();

        (ps:在同一时刻,可以有3个线程获得锁)

    • 读写锁:ReadWriteLock lock = new ReentrantReadWriteLock();

                  

        (ps:读锁会等待写锁释放,可以同时让多个线程持有)

    • 倒计数锁: CountDownLatch latch = new CountDownLatch(4);

        

    • 栅栏锁:CuclicBarrier barrier =  new CyclicBarrier()

                   

    • 死锁的预防
      • 每个线程按照特定的顺序申请锁  

    (本随笔为观看 刘欣老师 讲解视频学习笔记)

  • 相关阅读:
    生活感悟
    shell语法
    mycat
    阐述 如何高效理解学习
    部署ETCD集群
    文件修改
    文件处理
    a's
    shell中备份web站点及数据库
    openssh版本升级修复漏洞
  • 原文地址:https://www.cnblogs.com/LionheartCGJ/p/7188413.html
Copyright © 2011-2022 走看看