zoukankan      html  css  js  c++  java
  • 第七章使用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()方法。

    三.线程的生命周期

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

    新建:创建一个线程

    就绪:等待启动

    运行:运行输出

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

    死亡:程序结束

  • 相关阅读:
    vlc音视频开发(二)环境搭建(VS篇)
    vlc音视频开发(一)环境搭建(qt篇)
    Qt国际化
    Qt解析王者荣耀英雄JSON文件
    Qt使用spdlog日志
    windows核心编程之多进程多线程,线程的同步互斥
    第十八关——写在最后
    第十七关——搜索优化
    第十六关——动态规划
    第十五关——网络流
  • 原文地址:https://www.cnblogs.com/invincibleDeng/p/7606163.html
Copyright © 2011-2022 走看看