日期:2014-05-20  浏览次数:20643 次

running接口实现多线程问题
Java code

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类的实例?

------解决方案--------------------
因为必须要有Thread才能启动新的线程。Runnable只是一个提供了run()函数的接口,便于线程执行该函数。


或者你定义TestThread 的时候直接继承Thread,比如:
class TestThread extends Thread {

那么可以直接:
TestThread a1 = new TestThread();
a1.start();
------解决方案--------------------
TestThread实现Runnable接口后new出的对象没有star()方法,要借助Thread实例来开启线程
------解决方案--------------------
创建Java线程只有一种办法,那就是创建一个Thread实例,并调用其start方法