如果一个类继承Thread,则不适合资源共享。但是如果实现了Runable接口的话,则很容易的实现资源共享。
一、Runnable

首先是Runnable源码。
只有一个简单的 run(); 方法;
这个 run 不仅能 run 线程,还有其他东西也能 run(这个是目前的理解,至于其他东西是什么,我也无法举例)
而设置 Runnable 接口的目的就在于:Java 中只能实现单继承,而可以实现多个接口。如果某个类想 run,还行实现其他的,那么就可以通过实现 Runnable 接口完成 run,再实现其他接口或者继承其他类完成 多功能。
二、Thread

通过继承Thread实现线程
总结:
实现Runnable接口比继承Thread类所具有的优势:
1、适合多个相同的程序代码的线程去处理同一个资源
2、可以避免java中的单继承的限制
3、增加程序的健壮性,代码可以被多个线程共享,代码和数据独立
4、线程池只能放入实现Runable或callable类线程,不能直接放入继承Thread的类
1050

被折叠的 条评论
为什么被折叠?



