day13多线程

一、概述:
进程:正在进行的程序(直译)
线程:进程中一个负责程序执行的控制单元(执行路径),一个进程可以多执行路径,成为多线程。
一个进程中至少有一个线程
开启多线程是为了同时运行多部分代码
每一个线程都有自己运行的内容,这个内容可以称为多线程要执行的任务

多线程的好处:解决了多部分同时运行的问题

多线程弊端:线程太多回收效率降低

其实应用程序的执行都是在CPU在做着快速的切换完成的,这个切换是随机的

二、JVM中的多线程解析

JVM启动时就启动了两个线程:主线程和垃圾回收线程
System.gc() 运行垃圾回收器

主线程的任务代码都定义在main函数中

主线程与垃圾回收线程

三、多线程的创建方式(继承Thread类)

创建多线程1

步骤:
1、定义一个类,继承Thread类
2、复写run方法
3、直接创建Thread子类对象创建线程
4、调用start方法开启线程并调用run方法执行

谁发生问题谁结束,线程间互不影响

四、线程的四种状态


线程状态图
线程状态详解

五、线程的第二种实现方式(实现Runnable接口)

继承Thread类
实现Runnable接口

实现Runnable接口步骤:
1、实现Runnable接口
2、覆盖接口中的run方法,将线程的任务代码封装到run方法中
3、通过Thread类创建线程对象,并将Runnable接口的子类对象作为Thread类的构造函数参数进行传递
因为线程的任务都封装在Runnable接口的子类对象的run方法中,所以要在对象创建时就明确要做的任务
4、调用线程对象的start方法开启线程

示例
示例
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 进程和线程 进程 所有运行中的任务通常对应一个进程,当一个程序进入内存运行时,即变成一个进程.进程是处于运行过程中...
    胜浩_ae28阅读 5,171评论 0 23
  • 进程和线程 进程 所有运行中的任务通常对应一个进程,当一个程序进入内存运行时,即变成一个进程.进程是处于运行过程中...
    小徐andorid阅读 2,876评论 3 53
  •   一个任务通常就是一个程序,每个运行中的程序就是一个进程。当一个程序运行时,内部可能包含了多个顺序执行流,每个顺...
    OmaiMoon阅读 1,732评论 0 12
  • Java多线程学习 [-] 一扩展javalangThread类 二实现javalangRunnable接口 三T...
    影驰阅读 3,008评论 1 18
  • ①给斯琴格日娜做了掌诊,排除躯体疾病,并做了完整的初诊报告。 ②发现一个高效的理财计划,并从今天启动了梦想计划。 ...
    刘研心理咨询阅读 187评论 0 4