本帖最后由 许聪聪 于 2013-6-12 16:57 编辑
- /*
- * 练习:卖票系统。运用多线程。
- * 先对票进行描述
- * 分四个窗口同时卖票,需要开启4个线程。
- */
- //实现接口Runnable
- class Ticket implements Runnable{
- private int tickets = 100;
- Object obj = new Object();
- //覆盖run方法
- public void run(){
-
- while (tickets>0){
- synchronized (obj){
-
- System.out.println(Thread.currentThread().getName()+"···"+tickets--);
-
- }
- }
- }
- }
- class TicketTest{
- public static void main(String[] args){
- Ticket d = new Ticket();
- Thread t1 = new Thread(d);
- Thread t2 = new Thread(d);
- Thread t3 = new Thread(d);
- Thread t4 = new Thread(d);
- t1.start();
- t2.start();
- t3.start();
- t4.start();
- }
- }
复制代码 不好意思 第一发帖 我发的问题发在code里了 问题是:这个程序出来会出现负票。让别人解决。他们说while 要进行无限循环。不用无线循环行吗?怎么才不会出现负数票。加同步锁也不好使。 |