zoukankan      html  css  js  c++  java
  • 启动器的学习

    一、核心思想

      

    二、启动流程

      

    三、依赖关系的代码

      

    四、重入锁的使用

      public class MyLock implements Lock {
        private boolean isLocked = false;
        Thread lockBy = null;
        int lockCount = 0;
        @Override
        public synchronized void lock() {
        Thread currentThread = Thread.currentThread();
        lockBy = Thread.currentThread();
        while (isLocked && lockBy != lockBy){
        try {
          wait();
        } catch (InterruptedException e) {
          e.printStackTrace();
        }
      }
      isLocked = true;
      lockBy = currentThread;
      lockCount++;
      }

      @Override
      public synchronized void unlock() {
      if (lockBy == Thread.currentThread()) {
        lockCount--;
        if (lockCount == 0) {
          notify();
        isLocked = false;
        lockCount = 0;
        }
       }
      }
      

    MyLock lock = new MyLock();
    public void a(){
    lock.lock();
    System.out.println("a");
    b();
    lock.unlock();
    }
    public void b(){
    lock.lock();
    System.out.println("b");
    lock.unlock();

    }
  • 相关阅读:
    SpringBoot JdbcTemplate多数据源
    SpringBoot Mybatis多数据源
    SpringBoot 配置文件2
    SpringBoot 配置文件1
    SpringBoot 日志配置
    乌镇行
    防火墙
    PL/SQL查询结果窗口太小且显示不完全
    python 列表解析
    HTML
  • 原文地址:https://www.cnblogs.com/liunx1109/p/11669079.html
Copyright © 2011-2022 走看看