1、基本概念——什么是线程?
提及到线程就不得不说比线程 “大”的两个概念——进程、程序。
程序:完成特定任务、用某种语言编写的一组指令的集合,即我们写的能完成某种功能静态代码;
进程:进程就是我们写的程序执行的过程,是一个动态的过程。它有生命周期——产生、执行、销毁;
下面才是线程登场的时候,将进程执行过程进行细化,每一个执行不同的任务的单元,便是线程。书本的定义:线程是操作系统能够进行运算调度的最小单位。
2、Java如何创建线程?
Java语言的JVM允许程序运行多个线程,它通过java.lang.Thread类来体现。
Thread类的特性:
- 每个线程都是通过某个特定Thread对象的run()方法来完成操作的,经常把run()方法的主体称为线程体;
- Thread对象通过start()方法来启动这个线程,而非直接调用run();
Java在1.5之前提供的两种创建线程的方法:
1、继承Thread类的方式;
- 定义子类继继承Thread类;
- 子类重写Thread()类中的Run方法,方法中为业务程序;
- 创建Thread子类的对象,即创建了线程对象;
- 调用线程对象start方法:启动线程,run方法被调用。
/** * @author iwang * @date 2019/10/27-14:36 * @desc 定义子类继继承Thread类(第一步) */ public class FirstThread extends Thread { //重写Thread()类中的Run方法(第二步) @Override public void run() { System.out.println("线程run()方法被调用执行!"); } public static void main(String[] args) { //创建Thread子类的对象,即创建了线程对象(第三步) FirstThread firstThread = new FirstThread(); //调用线程对象start方法:启动线程,run方法被调用。(第四步) firstThread.start(); } }
2、实现Runnable接口的方式;