十年網站開發(fā)經驗 + 多家企業(yè)客戶 + 靠譜的建站團隊
量身定制 + 運營維護+專業(yè)推廣+無憂售后,網站問題一站解決
本篇文章為大家展示了如何在Java中使用Lock鎖機制,內容簡明扼要并且容易理解,絕對能使你眼前一亮,通過這篇文章的詳細介紹希望你能有所收獲。
公司主營業(yè)務:網站設計制作、做網站、移動網站開發(fā)等業(yè)務。幫助企業(yè)客戶真正實現互聯網宣傳,提高企業(yè)的競爭能力。創(chuàng)新互聯是一支青春激揚、勤奮敬業(yè)、活力青春激揚、勤奮敬業(yè)、活力澎湃、和諧高效的團隊。公司秉承以“開放、自由、嚴謹、自律”為核心的企業(yè)文化,感謝他們對我們的高要求,感謝他們從不同領域給我們帶來的挑戰(zhàn),讓我們激情的團隊有機會用頭腦與智慧不斷的給客戶帶來驚喜。創(chuàng)新互聯推出尼金平免費做網站回饋大家。
具體如下:
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主要應用于:1. web開發(fā);2. Android開發(fā);3. 客戶端開發(fā);4. 網頁開發(fā);5. 企業(yè)級應用開發(fā);6. Java大數據開發(fā);7.游戲開發(fā)等。
上述內容就是如何在Java中使用Lock鎖機制,你們學到知識或技能了嗎?如果還想學到更多技能或者豐富自己的知識儲備,歡迎關注創(chuàng)新互聯行業(yè)資訊頻道。