zoukankan      html  css  js  c++  java
  • 学习ReentrantLock

    1. 使用ReentrantLock

    import java.util.concurrent.locks.ReentrantLock;
    
    public class TestReentrantLock {
    
      public static void main(String[] args) {
        final ReentrantLock reentrantLock = new ReentrantLock(true);
        
        reentrantLock.lock();
    
        new Thread("Thread 1") {
          public void run() {
            for (int i = 1; i < 5; i++) {
              reentrantLock.lock();
              System.out.println(Thread.currentThread().getName() + " print " + i);
              reentrantLock.unlock();
            }
          }
        }.start();
    
        new Thread("Thread 2") {
          public void run() {
            for (int i = 1; i < 5; i++) {
              reentrantLock.lock();
              System.out.println(Thread.currentThread().getName() + " print " + i);
              reentrantLock.unlock();
            }
          }
        }.start();
    
        System.out.println(Thread.currentThread().getName() + " Done");
        reentrantLock.unlock();
      }
    }
    

    结果为:

    main Done
    Thread 1 print 1
    Thread 1 print 2
    Thread 1 print 3
    Thread 1 print 4
    Thread 2 print 1
    Thread 2 print 2
    Thread 2 print 3
    Thread 2 print 4
    

      

  • 相关阅读:
    C#基本语法
    C#程序结构
    C#环境
    C#强大的编程功能
    Razor
    Web Pages
    ASP.NET教程
    [ecmagnet][django] 如何使用django的signal
    [ecmanget][常用标签]bookmark
    [muku][1 初始restful api] chorme安装jsonview 插件
  • 原文地址:https://www.cnblogs.com/lixiaolun/p/8486798.html
Copyright © 2011-2022 走看看