- 可重复性锁,相比传统的synchronized
- ReentrantLock更直观,直观上锁解锁
package cn.usts.edu.lesson08; import java.util.concurrent.locks.ReentrantLock; public class LockDemo implements Runnable{ private int tickets=10; private final ReentrantLock lock = new ReentrantLock(); // 实例化锁 public static void main(String[] args) { LockDemo lockDemo = new LockDemo(); new Thread(lockDemo).start(); new Thread(lockDemo).start(); new Thread(lockDemo).start(); } @Override public void run() { try { lock.lock();// 上锁 while (true){ if (tickets>0){ try { Thread.sleep(1000); } catch (InterruptedException e) { e.printStackTrace(); } System.out.println(tickets--); } else { break; } } }finally { lock.unlock();// 解锁 } } }
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)