zoukankan      html  css  js  c++  java
  • ReentrantLock的简单使用

    ReentrantLock:

     1 /**
     2  *    ReentrantLock测试逻辑类
     3  */
     4 public class MyService {
     5     private Lock lock = new ReentrantLock();//获取锁对象
     6     
     7     public void testMethod() {
     8         lock.lock();
     9         for (int i = 0; i < 5; i++) {
    10             System.out.println(Thread.currentThread().getName() + "----" + (i+1));
    11         }
    12         lock.unlock();
    13     }
    14 }
     1 /**
     2  *    ReentrantLock测试逻辑线程
     3  */
     4 public class MyThread extends Thread{
     5     
     6     private MyService service;
     7     
     8     public MyThread(MyService service) {
     9         this.service = service;
    10         this.start();
    11     }
    12     
    13     @Override
    14     public void run() {
    15         service.testMethod();
    16     }
    17 }
     1 /**
     2  *    测试类
     3  */
     4 public class Run {
     5 
     6     public static void main(String[] args) {
     7         MyService service = new MyService();
     8         
     9         //实例化 并且实例化的时候默认就调用start()方法启动
    10         MyThread thread1 = new MyThread(service);
    11         MyThread thread2 = new MyThread(service);
    12         MyThread thread3 = new MyThread(service);
    13         MyThread thread4 = new MyThread(service);
    14     }
    15 }

    运行结果如下:

      

  • 相关阅读:
    Java程序员从笨鸟到菜鸟全部博客目录
    Problem I
    Problem I
    Problem S
    Problem S
    Problem X
    Problem X
    Problem Q
    Problem Q
    Ellipse
  • 原文地址:https://www.cnblogs.com/wang1001/p/9566598.html
Copyright © 2011-2022 走看看