java runnable 线程超时_Java中的“实现Runnable”与“扩展线程”

本文探讨了在Java中实现Runnable接口与扩展Thread类的区别。扩展Thread类会导致紧耦合,不允许多重继承,而实现Runnable接口则允许线程共享对象,节省内存。通过示例代码,展示了当多个线程共享同一Runnable实例时,计数器会递增,而在扩展Thread类的情况下,每个线程有自己的计数器实例,值不会增加。建议在仅需覆盖run()方法或需要扩展其他类时选择实现Runnable接口。
摘要由CSDN通过智能技术生成

那么多好的答案,我想在此添加更多。这有助于理解Extending v/s Implementing Thread。

Extends非常紧密地绑定两个类文件,并且可能会导致很难处理代码。

两种方法都做同样的工作,但存在一些差异。

最常见的区别是

当您扩展Thread类时,之后您无法扩展您需要的任何其他类。(如您所知,Java不允许继承多个类)。

实现Runnable时,可以为类保存空间,以便将来或现在扩展任何其他类。

但是,实现Runnable和扩展Thread之间的一个显着区别是

by extending Thread, each of your threads has a unique object associated with it, whereas implementing Runnable, many threads can share the same object instance.

以下示例将帮助您更清楚地理解

//Implement Runnable Interface...

class ImplementsRunnable implements Runnable {

private int counter = 0;

public void run() {

counter++;

System.out.println("ImplementsRunnable : Counter : " + counter);

}

}

//Extend Thread class...

class ExtendsThread extends Thread {

pr

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值