使用implements Runnable和extends Thread的方式创建线程有什么不同吗?

在Java里面,创建线程有两种方式,一种是通过实现Runnable,然后把它传给Thread的构造方法。

加载中...

第二种是直接继承Thread。

加载中...

这两种方式都能创建线程,它们之间有什么区别吗?

javathreadrunnablemultithreading多线程
1
233
已修改
小课
小课2022-05-15 16:51
1 个回答

建议使用第一种实现Runnable的方式,因为这种方式复用性和扩展性更好,比如说我们继承一些现有的基础任务类,然后再实现Runnable启动线程,提供代码复用率。

加载中...

如果我们是采用继承Thread的方式,我们将无法再继承其它类。继承Thread这种方式通常是用于统一修改线程的某些参数或者处理一些事务。

加载中...

上面就是通过继承Thread,统一处理线程中的异常,然后再结合第一种方式来创建线程。

1
小课
小课2022-05-15 17:34
你的回答

内容