Thread类的基本用法

目录

一.线程的创建方法

2.创建一个类实现Runnable接口.再创建Runnable实例传给Thread实例

3.创建Thread类,使用匿名内部类

4.使用Runnable接口,并使用匿名内部类重写run方法

5.使用Lambda表达式 

 二.线程中断

三.线程等待 

 四.线程休眠

 五.获取当前线程实例


一.线程的创建方法

1.显示继承Thread类,并重写run方法来指定线程执行的代码

Thread类的基本用法_第1张图片

注意:run方法中逻辑是在新创建出来的线程中被执行的代码,并不是我一定要定义这个类,一写run方法,线程就创建出来了.相当于把任务安排了,但是没开始干.

Thread类的基本用法_第2张图片

在调用start之前,系统中是没有创建出线程的,这里的调用start方法之后才真正的在系统中创建了线程,才真正开始执行run操作.

2.创建一个类实现Runnable接口.再创建Runnable实例传给Thread实例

Thread类的基本用法_第3张图片

3.创建Thread类,使用匿名内部类

 Thread类的基本用法_第4张图片

4.使用Runnable接口,并使用匿名内部类重写run方法

Thread类的基本用法_第5张图片

5.使用Lambda表达式 

Thread类的基本用法_第6张图片

 二.线程中断

线程中断:让一个线程停下来,线程停下来的关键是让线程对应的 run方法执行(还有一个特殊的是main这个线程,对于mian来说,得是main方法执行完了,线程就完了)

1.可以手动的设置一个标志位(自己创建的变量,boolean)来控制线程是否要执行结束

Thread类的基本用法_第7张图片

 但是这个做法并不严谨,更好的做法是:

2.使用Thread中内置的一个标志位来进行判定,可以通过:Thread.interrupted()这个静态方法.             Thread.currentThread().isInterrupted()这个是实例方法.

Thread类的基本用法_第8张图片

补充: 

Thread类的基本用法_第9张图片

三.线程等待 

多个线程之间,调度顺序是不确定的,线程之间的执行是按照调度器来安排的,这个过程可以视为是"无序,随机",这样不太好,有些时候,我们需要能控制线程之间的顺序,线程等待就是其中一种,控制线程执行顺序的手段,此处的等待,主要是控制线程结束的先后顺序

补充:

Thread类的基本用法_第10张图片

 四.线程休眠

Thread类的基本用法_第11张图片

 五.获取当前线程实例

调用方式:Thread.currentThread(),返回的是线程对象的引用,有时候可以用this代替

Thread类的基本用法_第12张图片

你可能感兴趣的:(笔记,java-ee)