Thread 和Runnable都可以线程实现
区别就是:
1.首先用法不一样·:
继承Thread:
重写run方法
利用start()启动线程()
实现Runnable接口
重写run方法
定义Thread 类 Thread t=new Thread();
利用t.start()开启线程
2.因为java中是单继承多实现的思想
实现Runnable接口还可以继承其他类,代码的扩展性比较直接继承Thread好
3.thread是多个线程分别完成自己的任务,runnable是多个线程共同完成一个任务,
实 现Runnable,多个线程可以共享同一个Targer对象,适合多个相同线程来处理同一份资源的情况
总结:Runnable接口就是规范,相当于代理模式中的公司,Thread相当于公司里的打手,接口的作用解耦,一般Runnable用的多。