/** * Created by xabcd on 2019/2/18. */ public class testsync { public static void main(String args[]) { erroThread tt = new erroThread(); //启动了4个线程,实现资源共享 new Thread(tt).start(); new Thread(tt).start(); new Thread(tt).start(); new Thread(tt).start(); //使用 Thread t = new Thread(tt); 结果是一个线程 // t.start(); } } class erroThread implements Runnable { private int tickets = 20; public void run() { while (true) { if (tickets > 0) { try { Thread.sleep(900); } catch (InterruptedException x) { } System.out.println(Thread.currentThread().getName() + "出售票" + tickets--); } } } } 结果: Thread-3出售票18 Thread-0出售票20 Thread-2出售票20 Thread-1出售票19 Thread-3出售票17 Thread-2出售票17 Thread-0出售票15 Thread-1出售票16 Thread-3出售票14 Thread-0出售票13 Thread-2出售票14 Thread-1出售票14 Thread-2出售票12 Thread-1出售票10 Thread-3出售票10 Thread-0出售票11 Thread-3出售票9 Thread-1出售票9 Thread-0出售票9 Thread-2出售票9 Thread-3出售票8 Thread-0出售票8 Thread-2出售票7 Thread-1出售票8 Thread-3出售票6 Thread-1出售票4 Thread-0出售票4 Thread-2出售票5 Thread-0出售票3 Thread-2出售票3 Thread-3出售票2 Thread-1出售票3 Thread-3出售票1 Thread-2出售票1 Thread-1出售票-1 Thread-0出售票0