ReentrantLock的简单使用

2018-09-01 05:42:33来源:博客园 阅读 ()

新老客户大回馈,云服务器低至5折

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 }

运行结果如下:

  

 

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:将内网ip映射到外网域名

下一篇:spring-构建mvc工程