zoukankan      html  css  js  c++  java
  • 继承Thread和实现Runnable的区分

    继承方式和实现接口方式  还是存在一定差异。比如售票,接口做 没有毛病,继承有点小问题 。暂时不明白 是哪里的问题=。      

    方式一:

    实现接口:new Thread(类的实例)。才可以点出开始方法。

    currentThread():获取当前线程对象

    我们利用单个Runnable实例r来创建了两个线程,那么这两个线程操作的其实都是实例r里面的属性和方法,所以能实现资源共享。

    一个比较生动的比如:

    Runnable实例r就像一个苹果,利用它创建的线程就像小虫子,咬的都是这个苹果。

    那么,从上面可以看出来属性共享的范围:

    只有用同一个Runnable实例创建的线程才有属性共享这个特性。

    通过继承Thread来实现多线程:覆盖run方法。用start()方法创建线程并执行run方法。

    Java中是单继承的,那么这么好的一个继承机会就给了它,是一个缺陷,java官方后来给出了一种实现接口的方法来实现多线程。就是实现Runnable接口 但它其实不是一个真正的线程。

    实现Runnable接口的优点:

    1.     可以继承别的类。省下一个继承的机会。

    2.     可以实现资源共享。

  • 相关阅读:
    C#如何防止程序多次运行的技巧
    C#导出Excel按照指定格式设置单元格属性值
    js前台遍历后台返回的Datatable数据
    Datatable数据分组
    DataTable 详解(转)
    遍历Datatable
    DataTable转Json
    键值集合List转换成datatable
    DataTable转换成实体
    泛型集合与DataSet相互转换
  • 原文地址:https://www.cnblogs.com/wlm-boke/p/8550691.html
Copyright © 2011-2022 走看看