一、简介

JDK提供了Lock接口来实现更丰富的锁控制,ReentrantLock即Lock接口的实现

JDK文档:http://tool.oschina.net/uploads/apidocs/jdk-zh/java/util/concurrent/locks/ReentrantLock.html

二、代码示例

import java.util.concurrent.locks.ReentrantLock;

public class ReentrantLockDemo {
    private static ReentrantLock lock = new ReentrantLock();

    public static void main(String[] args) throws InterruptedException {
        new Thread(() -> {
            lock.lock();
            System.out.println(Thread.currentThread().getName());
            try {
                Thread.sleep(3000);
            } catch (InterruptedException e) {
                e.printStackTrace();
            }
            lock.unlock();
        }).start();
        Thread.sleep(10);
        lock.lock();
        System.out.println("main");
        lock.unlock();
    }

}

最新文章

  1. css3 transition属性
  2. 5分钟用Spring4 搭建一个REST WebService
  3. [Unity游戏开发]向量在游戏开发中的应用(二)
  4. 1.一起来学hibernate之hibernate简介
  5. ptmalloc2源码解析初探
  6. [RGeos]手簿
  7. UVA 11427 Expect the Expected (期望)
  8. LightOJ 1074 Extended Traffic (最短路spfa+标记负环点)
  9. vs2010调用matlab2011下的.m文件
  10. oracle表导入导出
  11. HDU - 5009 Paint Pearls(dp+优化双向链表)
  12. 网络最大流最短增广路Dinic算法模板
  13. SSH2项目网上书店系统手把手教学_Struts2+Spring+Hibernate整合开发
  14. 连接到放置本地yum源服务器之前的注意事项
  15. 在 Ubuntu 中使用 Visual Studio Code
  16. linux 运维工程师发展路线
  17. xml模块学习
  18. 好用的shell可以事半功倍
  19. Python-可变参数和关键字参数(*args **kw)
  20. ECSHOP广告调用广告位添加到首页顶部通栏教程

热门文章

  1. Nmap 扫描
  2. Visual Studio code安装步骤
  3. “全栈2019”Java第二章:安装JDK11(Windows)
  4. PRINT语句详解
  5. LOJ#3084. 「GXOI / GZOI2019」宝牌一大堆(递推)
  6. C语言 从头学起了
  7. redis cluster 的ERR max number of clients reached 问题排查
  8. JavaScript创建对象的4种方法
  9. python 爬恶魔法则(单线程卡成狗)
  10. python中的字符串和编码