多线程售票demo,用ReentrantLock实现
生活随笔
收集整理的這篇文章主要介紹了
多线程售票demo,用ReentrantLock实现
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
代碼:
public class TicketReentLockDemo implements Runnable {private int ticketTotal = 100;private Lock lock = new ReentrantLock();@Overridepublic void run() {while (ticketTotal > 0) {try {lock.lock();if (ticketTotal > 0) {try {TimeUnit.MILLISECONDS.sleep(100);} catch (InterruptedException e) {e.printStackTrace();}System.out.println(Thread.currentThread().getName() + "正在售出第 " + (ticketTotal--));}} finally {lock.unlock();}}}public static void main(String[] args) {TicketReentLockDemo ticketReentLockDemo = new TicketReentLockDemo();Thread thread1 = new Thread(ticketReentLockDemo, "窗口1");Thread thread2 = new Thread(ticketReentLockDemo, "窗口2");Thread thread3 = new Thread(ticketReentLockDemo, "窗口3");thread1.start();thread2.start();thread3.start();} }?
?
運行結果:
?
?
總結
以上是生活随笔為你收集整理的多线程售票demo,用ReentrantLock实现的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 听音乐是运用计算机的技术,计算机音乐技术
- 下一篇: 可重入锁是什么和demo