package demo2; public class Demorunnable implements Runnable { //定义一个多个线程共享的票源 private static int ticket = 100; //设置线程任务 @Override public void run(){ System.out.println("this:"+this); while (true){ payTicketStatic(); } } public static synchronized void payTicketStatic(){ if (ticket > 0) { try { Thread.sleep(10); } catch (InterruptedException e) { e.printStackTrace(); } System.out.println("系统正在出售第" + ticket + "张票"); ticket--; } } }
package demo2; public class Demomainrunnable { public static void main(String[] args) { Demorunnable run = new Demorunnable(); Thread t0 = new Thread(run); Thread t1 = new Thread(run); Thread t2 = new Thread(run); t0.start(); t1.start(); t2.start(); } }