首先thread是runnable的实现类。
public class Thread implements Runnable {
}
主要区别就是
1、thread其实是单开一个线程去完成任务,新开的线程是各自占有各自的资源,并不是同时完成任务,你可以理解成每个线程都是同时运行的
2、runnable是同时共享一个资源,如果资源被第一个线程占用了,那么剩下的线程就会等待第一个用完再运行
3、runnable是接口,thread是类,实现接口始终比继承类要好
首先thread是runnable的实现类。
public class Thread implements Runnable {
}
主要区别就是
1、thread其实是单开一个线程去完成任务,新开的线程是各自占有各自的资源,并不是同时完成任务,你可以理解成每个线程都是同时运行的
2、runnable是同时共享一个资源,如果资源被第一个线程占用了,那么剩下的线程就会等待第一个用完再运行
3、runnable是接口,thread是类,实现接口始终比继承类要好