• 使用java实现面向对象 第七章


    第七章 多线程

    一.Thread类和Runnable接口

    1.在java.lang包中定义了Runnable接口和Thread类。

    Runnable接口中只定义了一个方法,它的格式为:

    public abstract void run()

    2.这个方法要由实现了Runnable接口的类实现。Runnable对象称为可运行对象,一个线程的运行就是执行该对象的run()方法。

    3.Thread类实现了Runnable接口,因此Thread对象也是可运行对象。同时Thread类也是线程类。

    4.target为线程运行的目标对象,即线程调用start()方法启动后运行那个对象的run()方法,该对象的类型为Runnable,若没有指定目标对象,则以当前类对象为目标对象;name为线程名,group指定线程属于哪个线程组。

    二.线程的创建

    线程运行的代码就是实现了Runnable接口的类的run()方法或者是Thread类的子类的run()方法,因此构造线程体就有两种方法:

    继承Thread类并覆盖它的run()方法;

    实现Runnable接口并实现它的run()方法。

    继承Thread类创建线程

    通过继承Thread类,并覆盖run()方法,这时就可以用该类的实例作为线程的目标对象。下面的程序定义了SimpleThread类,它继承了Thread类并覆盖了run()方法。

    实现Runnable接口创建线程

    可以定义一个类实现Runnable接口,然后将该类对象作为线程的目标对象。实现Runnable接口就是实现run()方法。

    三.线程的生命周期

    线程从创建、运行到结束总是处于下面五个状态之一:新建状态、就绪状态、运行状态、阻塞状态及死亡状态。

    新建:创建一个线程

    就绪:等待启动

    运行:运行输出

    阻塞:从运行返回阻塞状态

    死亡:程序结束

  • 相关阅读:
    使用supervisor过程的坑
    为apache安装mod_wsgi的时候出现-fpic的问题
    信息生成二维码的方法
    mac下virtualbox安装win7系统
    js读取json方法
    如何读取抓取的wifi包内容
    python文章学习列表
    sqlserver中drop、truncate和delete语句的用法
    UE中使用正则表达式的一些技巧
    指定IE浏览器渲染方式
  • 原文地址:https://www.cnblogs.com/ppdpp/p/7635605.html
Copyright © 2020-2023  润新知