创建多线程方式二:实现Runnable接口

Posted ergepython

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了创建多线程方式二:实现Runnable接口相关的知识,希望对你有一定的参考价值。

1.创建一个实现了Runnable接口的类

2.实现类去实现Runnable中的抽象方法:run()

3.创建实现类的对象

4.将此对象作为参数传递到Thread类的构造器中,创建Thread类的对象

通过Thead类的对象调用start方法

比较创建线程的两种方式:

开发中:优先选择实现Runnable接口的方式

  1.实现的方式没有类的单继承性的局限性

  2.实现的方式更适合处理多个线程有共享数据的情况

联系:public  class Thread implements Runnable

相同点:两种方式都需要重写run(),将线程要执行的逻辑声明在run()中

 

线程的生命周期

  新建: 当一个Thread类或其子类的对象呗声明创建时,新生的线程对象处于新建状态

  就绪:处于新建状态的线程被start()后,将进入线程队列等待CPU时间片,此时它已经具备了运行的条件,只是没分配CPU资源

  运行:当就绪的线程被调度并获得CPU资源时,便进入运行状态,run()方法定义了线程的操作和功能

  阻塞:某种特殊情况下,被人为挂起或执行输入输出操作时,让出CPU并临时中止自己的执行,进入阻塞状态

  死亡:线程完成了它的全部工作或线程被提前强制性地中止或出现异常导致结束

就绪到运行:获取CPU执行权,反向则是失去执行权 或yield()

阻塞:sleep() join()等待同步锁 wait() 

 

以上是关于创建多线程方式二:实现Runnable接口的主要内容,如果未能解决你的问题,请参考以下文章

创建多线程方式二:实现Runnable接口

创建多线程方式二(实现Runnable接口)

Java中的线程

编写一个线程改变窗体的颜色

java 多线程面试

初学Java多线程的基本概念