public class  ThreadDemo_3
{
public static void main(String[] args)
{
TestThread a1 = new TestThread();

Thread a = new Thread(a1);
a.start();
while(true)
{
System.out.println("main thread is  running");
}

}
}
class TestThread implements Runnable
{
public void run()
{
while (true)
{
System.out.println(Thread.currentThread().getName()+"is running~~");
}
}
}
为什么要创建Thread类的实例?

解决方案 »

  1.   

    因为必须要有Thread才能启动新的线程。Runnable只是一个提供了run()函数的接口,便于线程执行该函数。
    或者你定义TestThread 的时候直接继承Thread,比如:
      class TestThread extends Thread {那么可以直接:
      TestThread a1 = new TestThread();
      a1.start();
      

  2.   

     TestThread实现Runnable接口后new出的对象没有star()方法,要借助Thread实例来开启线程
      

  3.   

    我能不能写成:
        class TestThread  exteads Thread implements runnable
    {}
      
      

  4.   

    start() 是Thread类的 实例方法。
      

  5.   

    创建Java线程只有一种办法,那就是创建一个Thread实例,并调用其start方法