多线程

发布时间:2021-02-06编辑:dyy阅读(187)

多线程的实现方式

1、定义一一个类继承Thread类

2、在类中重写run()方法,run()方法式用来封装线程执行的代码

3、创建对象、启动线程

image.pngimage.png

启动线程时  run()和start()方法的区别

run():封装线程执行的代码,直接调用,相当于普通方法

start():启动线程,然后由jvm调用此线程的run方法


通过setName设置线程名称方法,getName返回此线程的名称

image.png        image.png

Thread类中设置和获取线程优先级的方法

public  final  int  getPriority():返回此线程的优先级

public final void setPriority(int newPriority):更改线程的优先级

线程默认优先级是:5,线程优先级的范围是:1-10

线程优先级高仅仅表示线程获取的cpu时间片的几率高,但是要在次数比较多,或者多次运行的时候才能看见效果

image.png

线程控制

static void sleep (long millis)  使当前正在执行的线程停留(暂停执行)指定的毫秒数

image.png

Join()方法优先执行该线程程序,该线程执行完再执行其他线程

image.png

setDaemon()

设置守护线程,如果当运行的全部是守护线程时,Java虚拟机将退出主线程执行完了,守护线程也会推出

image.png

多线程的实现方式2

实现Runnable接口

在类中重写run()方法

创建类对象

创建Thread类的对象,把类对象作为构造方法的参数

启动线程

image.png

image.png

多线程实现方案有两种

实现Runnable接口和继承Thread

继承Runnable接口避免了Java单继承局限性

适合多个相同程序的代码去处理同一个资源的情况,把线程和程序的代码、数据有效分离,有效体现了面向对象设计

标签

上一篇:异常

下一篇:网络编程

评论