本帖最后由 莫道荣 于 2013-3-5 22:31 编辑
这个程序 我的意图是想让三个线程一共卖100张票,但是每次运行的时候总是一个线程将100张票全部卖完。我已经在 run()方法中加入了Thread.sleep(1000);语句,感觉程序遇到这句时应该当前线程休眠,其他线程执行,不应该只有一 个线程执行呀?求高人指点? 您的任何帮助,我将不尽感激。 package com.cbd.zhixiang;
public class ThreadDemo
{
public static void main(String[] args)
{
Ticket t = new Ticket();
new Thread(t).start();
new Thread(t).start();
new Thread(t).start();
}
}
class Ticket implements Runnable
{
private int count = 100;
Object obj = new Object();
public void run()
{
synchronized (obj)
{
while (count > 0)
{
try
{
Thread.sleep(1000);
} catch (InterruptedException e)
{
e.printStackTrace();
}
System.out.println(Thread.currentThread().getName() + "..."
+ count--);
}
}
}
}
|