一、概述:
进程:正在进行的程序(直译)
线程:进程中一个负责程序执行的控制单元(执行路径),一个进程可以多执行路径,成为多线程。
一个进程中至少有一个线程
开启多线程是为了同时运行多部分代码
每一个线程都有自己运行的内容,这个内容可以称为多线程要执行的任务
多线程的好处:解决了多部分同时运行的问题
多线程弊端:线程太多回收效率降低
其实应用程序的执行都是在CPU在做着快速的切换完成的,这个切换是随机的
二、JVM中的多线程解析
JVM启动时就启动了两个线程:主线程和垃圾回收线程
System.gc() 运行垃圾回收器
主线程的任务代码都定义在main函数中
三、多线程的创建方式(继承Thread类)
步骤:
1、定义一个类,继承Thread类
2、复写run方法
3、直接创建Thread子类对象创建线程
4、调用start方法开启线程并调用run方法执行
谁发生问题谁结束,线程间互不影响
四、线程的四种状态
五、线程的第二种实现方式(实现Runnable接口)
实现Runnable接口步骤:
1、实现Runnable接口
2、覆盖接口中的run方法,将线程的任务代码封装到run方法中
3、通过Thread类创建线程对象,并将Runnable接口的子类对象作为Thread类的构造函数参数进行传递
因为线程的任务都封装在Runnable接口的子类对象的run方法中,所以要在对象创建时就明确要做的任务
4、调用线程对象的start方法开启线程