比如说在一个类中如果实现了runable的话,可以这么启动
public class MyThread implements Runnable{
public void run() {}
}
Thread myThread = new MyThread();
myThread.start();如果是这样的话
public class MyThread extends AAAA implements Runnable{
public void run() {}
}
要启动这个类的线程,改如何实现呢?
public class MyThread implements Runnable{
public void run() {}
}
Thread myThread = new MyThread();
myThread.start();如果是这样的话
public class MyThread extends AAAA implements Runnable{
public void run() {}
}
要启动这个类的线程,改如何实现呢?
你将会看到有一个构造子的参数被赋予了内部一个类型为Runnable的属性target
而在run()方式调用的时候,会先判定target是否为空,若不为空,则执行target.run()所以,所有的线程都是Thread的实例,而不是Runnable,Runnable中只有run()而没有其他,想要start()必须将Runnable交给一个Thread有机会多阅读JDK的源码,你会知道更多
th.start();