day13多线程

作者: 小书bluebirds | 来源:发表于2019-02-19 09:56 被阅读0次

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

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

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

其实应用程序的执行都是在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方法开启线程

示例 示例

相关文章

网友评论

    本文标题:day13多线程

    本文链接:https://www.haomeiwen.com/subject/xenseqtx.html