黑马程序员技术交流社区

标题: 四个人同时售票的问题 [打印本页]

作者: 小洋人最happy    时间: 2012-12-8 10:32
标题: 四个人同时售票的问题
class ThreadDemo1
  {
  public static void main(String[] args)
  {
   TestThread tt = new TestThread();
   new Thread(tt).start();//为什么还要new Thread(tt) 呢  直接 tt.start()不行吗?  下面不是已经实现了Runnable接口了吗
   new Thread(tt).start();
   new Thread(tt).start();
   new Thread(tt).start();
  }
  }
  class TestThread implements Runnable
  {
  int tickets = 100;
  public void run()
  {
   while (true)
   {
    if(tickets>0)
     sop(Thread.currentThread().getName()+"正在售的票是“+tickets--)
   }
  }
  }
作者: 严海荣    时间: 2012-12-8 10:52
tt只是一个实现了Runnable接口的子类对象,直接用tt.start方法会调用类中的start方法。
必须得创建一个线程对象new Thread(tt),将tt传给线程的构造函数来启动线程。
如果tt是一个继承了Thread类的对象,那么这个tt对象就是一个线程,就可以使用tt.start();
因为实现Runnable接口能够避免单继承的局限性,一般用Runnable.






欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2