实现runnable接口
继承thread类
两种方法的区别
继承Thread不利于资源共享,实现Runnable接口很容易实现资源共享
实现Runnable接口比继承Thread类所具有的优势:
1、适合多个相同的程序代码去处理同一个资源
2、可以避免java中的单继承限制
3、增加代码的健壮性,代码可被多个线程共享,代码和数据独立
继承Thread的线程为什么不利于资源共享?
因为一个线程只能启动一次,继承Thread的线程是将任务和线程捆绑在一起的,即是一个任务只能由一个线程执行,不同线程之间执行的是不同的任务。实现Runnable接口的线程实际上是将一个Runnable的实例传递给线程,也就是可以将一个任务传递给多个线程来执行。