如果一个类继承Thread,则不适合资源共享。但是如果实现了Runnable接口的话,则可以很容易的实现资源共享。
总结: 实现Runnable接口比继承Thread类所具有的优势
1.适合多个相同的程序代码的线程去共享同一个资源。
2.可以避免java中的单继承的局限性
3.增加程序的健壮性,实现解耦操作,代码可以被多个线程共享、代码和线程独立
4.线程池中只能放Runnable或Callable类线程,不能直接放入继承Thread的类。
如何获取当前线程对象
- 通过继承Thread类来获得当前线程对象比较简单,直接使用this关键字就可以了;
1.Thread可以 getName();
2.还可以 在run中sout(Thread.currentThread().getName());
- 但通过实现Runnable接口来获得当前线程对象,则必须使用Thread.currentThread()方法。
可以 在run中 sout(Thread.currentThread().getName());有一个thread,可以传递不同runnable。