zoukankan      html  css  js  c++  java
  • Java 多线程之Lock接口

    Lock提供了比synchronized关键字操作性更为强的锁定操作。

    Lock的实现类有:
    ReentrantLock,
    ReentrantReadWriteLock.ReadLock,
    ReentrantReadWriteLock.WriteLock;

    注意:锁定和取消锁定出现在不同作用范围中时,必须谨慎地确保保持锁定时所执行的所有代码用 try-finally 或 try-catch 加以保护,以确保在必要时释放锁。

    public interface Lock {
        //获取锁
        void lock();
        //如果当前线程未被中断,则获取锁。
        void lockInterruptibly() throws InterruptedException;
        //仅在调用时锁为空闲状态才获取该锁。
        boolean tryLock();
        //如果锁在给定的等待时间内空闲,并且当前线程未被中断,则获取锁。
        boolean tryLock(long time, TimeUnit unit) throws InterruptedException;
    
        //释放锁
        void unlock();
    
        //返回绑定到此 Lock 实例的新 Condition 实例
        Condition newCondition();
    }
  • 相关阅读:
    导出预设体的缩略图工具
    FairyGui自动生成Wnd工具(Unity)
    Unity骨骼优化(转)
    顶点处理机制
    面向对象
    文件读取
    协同程序
    元表
    模块与包
    Lua表
  • 原文地址:https://www.cnblogs.com/Kevin-1992/p/12608419.html
Copyright © 2011-2022 走看看