亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

Java鎖機(jī)制Lock用法示例

 更新時(shí)間:2018年08月25日 11:58:48   作者:u013063153  
這篇文章主要介紹了Java鎖機(jī)制Lock用法,結(jié)合具體實(shí)例形式分析了Java鎖機(jī)制的相關(guān)上鎖、釋放鎖、隱式鎖、顯式鎖等概念與使用技巧,需要的朋友可以參考下

本文實(shí)例講述了Java鎖機(jī)制Lock用法。分享給大家供大家參考,具體如下:

package com.expgiga.JUC;
import java.util.concurrent.locks.Lock;
import java.util.concurrent.locks.ReentrantLock;
/**
 * 一、用于解決多線程安全問(wèn)題的方式:
 * 1.同步代碼塊 synchronized 隱式鎖
 * 2.同步方法 synchronized 隱式鎖
 * 3.同步鎖Lock (jdk1.5以后) 顯示鎖
 * 注意:顯示鎖,需要通過(guò)lock()方式上鎖,必須通過(guò)unlock()方式進(jìn)行釋放鎖
 */
public class TestLock {
  public static void main(String[] args) {
    Ticket ticket = new Ticket();
    new Thread(ticket, "1號(hào)窗口").start();
    new Thread(ticket, "2號(hào)窗口").start();
    new Thread(ticket, "3號(hào)窗口").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();
      }
    }
  }
}

運(yùn)行結(jié)果:

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

更多java相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《Java進(jìn)程與線程操作技巧總結(jié)》、《Java數(shù)據(jù)結(jié)構(gòu)與算法教程》、《Java操作DOM節(jié)點(diǎn)技巧總結(jié)》、《Java文件與目錄操作技巧匯總》和《Java緩存操作技巧匯總

希望本文所述對(duì)大家java程序設(shè)計(jì)有所幫助。

相關(guān)文章

最新評(píng)論