楼主 看你的代码真的能哭晕在厕所里面,有一些很基础的东西你都搞错了, java.lang.IllegalThreadStateException
你知道为什么出现这种错么?? while(true){ ....... t1.start(); t2.start(); ...}你明明已经创建了一堆线程,你让它们一次又一次start()这是什么意思?线程启动只有一次start(),这种低级错误也能犯
第二个异常java.lang.IllegalMonitorStateException是因为你用的锁对象是错误的,你明明设置的锁对象是Depot.class,你却用this去notify和wait,请你好好看下文档,这又是一个低级错误
第三,你加那么多不必要的锁是何意?synchronized("A")这种同步代码块加了意义何在?你明明同步了共享资源
第四,建议你先搞清楚一个火车站多个窗口售票 退票问题,在搞多个火车站,我不太清楚你到底想怎样?是各个火车站各自卖自己的300票,还是多个火车站共享一个票源,建议你先把这些问题都想清楚,在写代码。
在你的基础上我改了些代码,是一个火车站的卖票系统,多个火车站我不打算搞
你可以参考下,如有不足,也欢迎指正: |