Runnable是Thread的接口,在大多数情况下“推荐用接口的方式”生成线程,因为接口可以实现多继承,况且Runnable只有一个run方法,很适合继承。 Thread本身就是实现了Runable接口
在使用Thread的时候只需要new一个实例出来,调用start()方法即可以启动一个线程。
Thread Test = new Thread();
Test.start();
在使用Runnable的时候需要先new一个继承Runnable的实例,之后用子类Thread调用。
Test impelements Runnable
Test t = new Test();
Thread test = new Thread(t);
继承了Thread类 那么实例化该子线程类后 你只能调用一次 start
而实现了 Runnable 接口 这个对象 就可以使用无数次
比如
Test impelements Runnable
Test t = new Test();
你调用一次new Thread(t).start();接着在写new Thread(t).start 这样没有任何问题;