package com.jack.test2; public class main { static Object obj = new Object(); static int total = 100; static int tikets = total; static int pre = total / 2; //前面pre张票,必须thead2才能卖 public static void main(String[] args) { Thread r1 = new Thread() { @Override public void run() { while (true) { synchronized (obj) { if (tikets >= total - pre) { try { System.out.println(Thread.currentThread().getName() + "在等待"); obj.wait(); } catch (InterruptedException e) { e.printStackTrace(); } } if (tikets > 0) { System.out.println(Thread.currentThread().getName() + "卖票中:第" + (total + 1 - tikets) + "张票"); tikets--; } } } } }; Thread r2 = new Thread() { @Override public void run() { while (true) { synchronized (obj) { if (tikets > 0) { System.out.println(Thread.currentThread().getName() + "卖票中:第" + (total + 1 - tikets) + "张票"); tikets--; } if (tikets < total - pre) { obj.notify(); } } } } }; r1.start(); r2.start(); } }
"D:Program Files (x86)Javajdk1.8.0_71injava.exe" "-javaagent:D:Program FilesJetBrainsIntelliJ IDEA 2018.3.3libidea_rt.jar=49166:D:Program FilesJetBrainsIntelliJ IDEA 2018.3.3in" -Dfile.encoding=UTF-8 -classpath "D:Program Files (x86)Javajdk1.8.0_71jrelibcharsets.jar;D:Program Files (x86)Javajdk1.8.0_71jrelibdeploy.jar;D:Program Files (x86)Javajdk1.8.0_71jrelibextaccess-bridge-32.jar;D:Program Files (x86)Javajdk1.8.0_71jrelibextcldrdata.jar;D:Program Files (x86)Javajdk1.8.0_71jrelibextdnsns.jar;D:Program Files (x86)Javajdk1.8.0_71jrelibextjaccess.jar;D:Program Files (x86)Javajdk1.8.0_71jrelibextjfxrt.jar;D:Program Files (x86)Javajdk1.8.0_71jrelibextlocaledata.jar;D:Program Files (x86)Javajdk1.8.0_71jrelibext ashorn.jar;D:Program Files (x86)Javajdk1.8.0_71jrelibextsunec.jar;D:Program Files (x86)Javajdk1.8.0_71jrelibextsunjce_provider.jar;D:Program Files (x86)Javajdk1.8.0_71jrelibextsunmscapi.jar;D:Program Files (x86)Javajdk1.8.0_71jrelibextsunpkcs11.jar;D:Program Files (x86)Javajdk1.8.0_71jrelibextzipfs.jar;D:Program Files (x86)Javajdk1.8.0_71jrelibjavaws.jar;D:Program Files (x86)Javajdk1.8.0_71jrelibjce.jar;D:Program Files (x86)Javajdk1.8.0_71jrelibjfr.jar;D:Program Files (x86)Javajdk1.8.0_71jrelibjfxswt.jar;D:Program Files (x86)Javajdk1.8.0_71jrelibjsse.jar;D:Program Files (x86)Javajdk1.8.0_71jrelibmanagement-agent.jar;D:Program Files (x86)Javajdk1.8.0_71jrelibplugin.jar;D:Program Files (x86)Javajdk1.8.0_71jrelib esources.jar;D:Program Files (x86)Javajdk1.8.0_71jrelib t.jar;D:usersligenyunIdeaProjectsTestoutproductionday1" com.jack.test2.main Thread-0在等待 Thread-1卖票中:第1张票 Thread-1卖票中:第2张票 Thread-1卖票中:第3张票 Thread-1卖票中:第4张票 Thread-1卖票中:第5张票 Thread-1卖票中:第6张票 Thread-1卖票中:第7张票 Thread-1卖票中:第8张票 Thread-1卖票中:第9张票 Thread-1卖票中:第10张票 Thread-1卖票中:第11张票 Thread-1卖票中:第12张票 Thread-1卖票中:第13张票 Thread-1卖票中:第14张票 Thread-1卖票中:第15张票 Thread-1卖票中:第16张票 Thread-1卖票中:第17张票 Thread-1卖票中:第18张票 Thread-1卖票中:第19张票 Thread-1卖票中:第20张票 Thread-1卖票中:第21张票 Thread-1卖票中:第22张票 Thread-1卖票中:第23张票 Thread-1卖票中:第24张票 Thread-1卖票中:第25张票 Thread-1卖票中:第26张票 Thread-1卖票中:第27张票 Thread-1卖票中:第28张票 Thread-1卖票中:第29张票 Thread-1卖票中:第30张票 Thread-1卖票中:第31张票 Thread-1卖票中:第32张票 Thread-1卖票中:第33张票 Thread-1卖票中:第34张票 Thread-1卖票中:第35张票 Thread-1卖票中:第36张票 Thread-1卖票中:第37张票 Thread-1卖票中:第38张票 Thread-1卖票中:第39张票 Thread-1卖票中:第40张票 Thread-1卖票中:第41张票 Thread-1卖票中:第42张票 Thread-1卖票中:第43张票 Thread-1卖票中:第44张票 Thread-1卖票中:第45张票 Thread-1卖票中:第46张票 Thread-1卖票中:第47张票 Thread-1卖票中:第48张票 Thread-1卖票中:第49张票 Thread-1卖票中:第50张票 Thread-1卖票中:第51张票 Thread-1卖票中:第52张票 Thread-1卖票中:第53张票 Thread-1卖票中:第54张票 Thread-1卖票中:第55张票 Thread-1卖票中:第56张票 Thread-1卖票中:第57张票 Thread-1卖票中:第58张票 Thread-1卖票中:第59张票 Thread-1卖票中:第60张票 Thread-0卖票中:第61张票 Thread-0卖票中:第62张票 Thread-0卖票中:第63张票 Thread-0卖票中:第64张票 Thread-0卖票中:第65张票 Thread-0卖票中:第66张票 Thread-0卖票中:第67张票 Thread-0卖票中:第68张票 Thread-0卖票中:第69张票 Thread-0卖票中:第70张票 Thread-0卖票中:第71张票 Thread-0卖票中:第72张票 Thread-0卖票中:第73张票 Thread-0卖票中:第74张票 Thread-0卖票中:第75张票 Thread-0卖票中:第76张票 Thread-0卖票中:第77张票 Thread-0卖票中:第78张票 Thread-0卖票中:第79张票 Thread-0卖票中:第80张票 Thread-0卖票中:第81张票 Thread-0卖票中:第82张票 Thread-0卖票中:第83张票 Thread-0卖票中:第84张票 Thread-0卖票中:第85张票 Thread-0卖票中:第86张票 Thread-0卖票中:第87张票 Thread-0卖票中:第88张票 Thread-0卖票中:第89张票 Thread-0卖票中:第90张票 Thread-0卖票中:第91张票 Thread-0卖票中:第92张票 Thread-0卖票中:第93张票 Thread-0卖票中:第94张票 Thread-0卖票中:第95张票 Thread-0卖票中:第96张票 Thread-0卖票中:第97张票 Thread-0卖票中:第98张票 Thread-0卖票中:第99张票 Thread-0卖票中:第100张票