网创优客建站品牌官网
为成都网站建设公司企业提供高品质网站建设
热线:028-86922220
成都专业网站建设公司

定制建站费用3500元

符合中小企业对网站设计、功能常规化式的企业展示型网站建设

成都品牌网站建设

品牌网站建设费用6000元

本套餐主要针对企业品牌型网站、中高端设计、前端互动体验...

成都商城网站建设

商城网站建设费用8000元

商城网站建设因基本功能的需求不同费用上面也有很大的差别...

成都微信网站建设

手机微信网站建站3000元

手机微信网站开发、微信官网、微信商城网站...

建站知识

当前位置:首页 > 建站知识

如何在Java中使用Lock锁机制

本篇文章为大家展示了如何在Java中使用Lock锁机制,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。

公司主营业务:网站设计制作、做网站、移动网站开发等业务。帮助企业客户真正实现互联网宣传,提高企业的竞争能力。创新互联是一支青春激扬、勤奋敬业、活力青春激扬、勤奋敬业、活力澎湃、和谐高效的团队。公司秉承以“开放、自由、严谨、自律”为核心的企业文化,感谢他们对我们的高要求,感谢他们从不同领域给我们带来的挑战,让我们激情的团队有机会用头脑与智慧不断的给客户带来惊喜。创新互联推出尼金平免费做网站回馈大家。

具体如下:

package com.expgiga.JUC;
import java.util.concurrent.locks.Lock;
import java.util.concurrent.locks.ReentrantLock;
/**
 * 一、用于解决多线程安全问题的方式:
 * 1.同步代码块 synchronized 隐式锁
 * 2.同步方法 synchronized 隐式锁
 * 3.同步锁Lock (jdk1.5以后) 显示锁
 * 注意:显示锁,需要通过lock()方式上锁,必须通过unlock()方式进行释放锁
 */
public class TestLock {
  public static void main(String[] args) {
    Ticket ticket = new Ticket();
    new Thread(ticket, "1号窗口").start();
    new Thread(ticket, "2号窗口").start();
    new Thread(ticket, "3号窗口").start();
  }
}
class Ticket implements Runnable {
  private int tick = 100;
  private Lock lock = new ReentrantLock();
  @Override
  public void run() {
    while (true) {
      lock.lock();
      try {
        if (tick > 0) {
          try {
            Thread.sleep(200);
          } catch (InterruptedException e) {
            e.printStackTrace();
          }
          System.out.println(Thread.currentThread().getName() + " 完成售票,余票为 " + --tick);
        }
      } finally {
        lock.unlock();
      }
    }
  }
}

运行结果:

1号窗口 完成售票,余票为 99
2号窗口 完成售票,余票为 98
2号窗口 完成售票,余票为 97
2号窗口 完成售票,余票为 96
2号窗口 完成售票,余票为 95
3号窗口 完成售票,余票为 94
1号窗口 完成售票,余票为 93
1号窗口 完成售票,余票为 92
1号窗口 完成售票,余票为 91
1号窗口 完成售票,余票为 90
1号窗口 完成售票,余票为 89
1号窗口 完成售票,余票为 88
1号窗口 完成售票,余票为 87
1号窗口 完成售票,余票为 86
2号窗口 完成售票,余票为 85
3号窗口 完成售票,余票为 84
1号窗口 完成售票,余票为 83
2号窗口 完成售票,余票为 82
3号窗口 完成售票,余票为 81
1号窗口 完成售票,余票为 80
1号窗口 完成售票,余票为 79
1号窗口 完成售票,余票为 78
1号窗口 完成售票,余票为 77
1号窗口 完成售票,余票为 76
1号窗口 完成售票,余票为 75
1号窗口 完成售票,余票为 74
1号窗口 完成售票,余票为 73
1号窗口 完成售票,余票为 72
2号窗口 完成售票,余票为 71
2号窗口 完成售票,余票为 70
2号窗口 完成售票,余票为 69
2号窗口 完成售票,余票为 68
3号窗口 完成售票,余票为 67
1号窗口 完成售票,余票为 66
1号窗口 完成售票,余票为 65
1号窗口 完成售票,余票为 64
1号窗口 完成售票,余票为 63
1号窗口 完成售票,余票为 62
1号窗口 完成售票,余票为 61
2号窗口 完成售票,余票为 60
2号窗口 完成售票,余票为 59
3号窗口 完成售票,余票为 58
3号窗口 完成售票,余票为 57
1号窗口 完成售票,余票为 56
1号窗口 完成售票,余票为 55
2号窗口 完成售票,余票为 54
2号窗口 完成售票,余票为 53
2号窗口 完成售票,余票为 52
3号窗口 完成售票,余票为 51
1号窗口 完成售票,余票为 50
1号窗口 完成售票,余票为 49
1号窗口 完成售票,余票为 48
1号窗口 完成售票,余票为 47
1号窗口 完成售票,余票为 46
1号窗口 完成售票,余票为 45
2号窗口 完成售票,余票为 44
3号窗口 完成售票,余票为 43
3号窗口 完成售票,余票为 42
3号窗口 完成售票,余票为 41
3号窗口 完成售票,余票为 40
3号窗口 完成售票,余票为 39
1号窗口 完成售票,余票为 38
2号窗口 完成售票,余票为 37
2号窗口 完成售票,余票为 36
2号窗口 完成售票,余票为 35
2号窗口 完成售票,余票为 34
2号窗口 完成售票,余票为 33
2号窗口 完成售票,余票为 32
2号窗口 完成售票,余票为 31
3号窗口 完成售票,余票为 30
1号窗口 完成售票,余票为 29
1号窗口 完成售票,余票为 28
1号窗口 完成售票,余票为 27
1号窗口 完成售票,余票为 26
1号窗口 完成售票,余票为 25
1号窗口 完成售票,余票为 24
1号窗口 完成售票,余票为 23
1号窗口 完成售票,余票为 22
1号窗口 完成售票,余票为 21
1号窗口 完成售票,余票为 20
1号窗口 完成售票,余票为 19
1号窗口 完成售票,余票为 18
1号窗口 完成售票,余票为 17
1号窗口 完成售票,余票为 16
1号窗口 完成售票,余票为 15
2号窗口 完成售票,余票为 14
2号窗口 完成售票,余票为 13
2号窗口 完成售票,余票为 12
3号窗口 完成售票,余票为 11
3号窗口 完成售票,余票为 10
3号窗口 完成售票,余票为 9
1号窗口 完成售票,余票为 8
1号窗口 完成售票,余票为 7
1号窗口 完成售票,余票为 6
1号窗口 完成售票,余票为 5
2号窗口 完成售票,余票为 4
3号窗口 完成售票,余票为 3
1号窗口 完成售票,余票为 2
2号窗口 完成售票,余票为 1
2号窗口 完成售票,余票为 0

Java可以用来干什么

Java主要应用于:1. web开发;2. Android开发;3. 客户端开发;4. 网页开发;5. 企业级应用开发;6. Java大数据开发;7.游戏开发等。

上述内容就是如何在Java中使用Lock锁机制,你们学到知识或技能了吗?如果还想学到更多技能或者丰富自己的知识储备,欢迎关注创新互联行业资讯频道。


网站名称:如何在Java中使用Lock锁机制
文章网址:http://bjjierui.cn/article/gehsgj.html

其他资讯