package sync; public class Ticket implements Runnable { private int ticket = 100; private Object lock = new Object(); @Override public void run() { while (true) { // synchronized (任意对象):对象是唯一的 synchronized (lock){ if (ticket <= 0) { break; } else { // try { // Thread.sleep(1000); // } catch (InterruptedException e) { // // } ticket--; System.out.println(Thread.currentThread().getName() + "在买票,还剩" + ticket + "票"); } } } } }
package sync; public class SyncDemo { public static void main(String[] args) { Ticket ti = new Ticket(); Thread tr1 = new Thread(ti); Thread tr2 = new Thread(ti); Thread tr3 = new Thread(ti); tr1.setName("老王"); tr2.setName("老李"); tr3.setName("老张"); tr1.start(); tr2.start(); tr3.start(); } }
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)