黑马程序员--线程一

来源:互联网 发布:js实现一键关注公众号 编辑:程序博客网 时间:2024/04/30 00:46

进程:是一个正在执行中的程序

      每一个进程执行都有一个执行顺序,该顺序是一个执行路径,或者叫一个控制单元

线程:就是进程中的一个独立控制单元,线程在控制着进程的执行。

注意:一个进程至少有一个线程

扩展:Jvm启动不至一个线程,还有负责垃圾回收机制的线程

创建线程有二种格式

一、继承Thread类

步骤:1、定义类继承thread

      2、复写Thread中的Run方法。其目的是将定义的代码存储在Run方法中,让线程运行

      3、调用线程的Start方法。该方法两个作用:启动线程,调用Run方法。

子类为什么要覆盖Run方法?

Thread类用于描述线程,该类就定义了一个功能,用于存储要运行的代码,该存储功能就是Run方法。也就是说Thread类中的Run方法国。用于存储线程要运行的代码

二、实现Runnable接口

步骤:1、定义实现Runnable接口

      2、覆盖Runnable接口中的Run方法,将线程运行代码放于Run方法中

      3、通过Thread类建立线程对线

      4、将Runnable接口的子类对象传递给Thread构造函数

         自定义的Run方法所属的对象是Runnable接口的子类对象,所以要让线程指定对象的Run方法,就必须明确该Run方法所属对象

      5、调用Thread类的Start方法开启线程并调用Runnable接口子类的Run方法。

实现方式和继承方式有什么区别?

1、继承方式(Thread):线程代码存放在Thread子类的Run方法中

2、实现方式(Runnable):避免单继承的局限性,线程代码存放在接口的子类Run方法中。



0 0
原创粉丝点击