黑马程序员技术交流社区

标题: 【记录】代码练习-Lock锁 [打印本页]

作者: Kevin.Kang    时间: 2015-8-5 11:26
标题: 【记录】代码练习-Lock锁
JDK5以后提供了一个新的锁对象Lock,Lock是一个接口,ReentrantLock是Lock的实现类
  1. package com.kxg_11;

  2. import java.util.concurrent.locks.Lock;
  3. import java.util.concurrent.locks.ReentrantLock;
  4. /*
  5. * Lock:
  6. *                 lock():添加锁
  7. *                 unlock():释放锁
  8. */
  9. public class SellTicekt implements Runnable {
  10.         private int ticket = 100;
  11. //        创建Lock接口的实现类ReentrantLock
  12.         private Lock lock = new ReentrantLock();
  13.         @Override
  14.         public void run() {
  15.                 while (true) {
  16.                         try {
  17.                                 lock.lock();
  18.                                 try {
  19.                                         Thread.sleep(100);
  20.                                 } catch (InterruptedException e) {
  21.                                         e.printStackTrace();
  22.                                 }
  23.                                 if (ticket > 0) {
  24.                                         System.out.println(Thread.currentThread().getName()
  25.                                                         + "正在出售第" + (ticket--) + "张票");
  26.                                 }
  27.                         } finally {
  28.                                 lock.unlock();
  29.                         }
  30.                 }
  31.         }
  32. }
复制代码








欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2