KKB: 线程创建的两种方式,以及两者之间的比较、如何终止线程

本文介绍了线程创建的两种主要方式:继承Thread类与实现Runnable接口,并对比了这两种方式的优势。此外,还详细讲解了如何通过中断线程来终止线程运行。

线程创建的两种方式:第一种:

继承Thread,重写run方法,然后使用start启动线程

 

 

线程创建的两种方式:第二种

 

实现runnable接口,也是重写run方法,但是需要自己创建一个线程,然后将这个对象传给线程

大概分了有这么三步

 

 

 

线程创建的两种方式,两者的比较


实现Runnable与继承Thread相比有如下优势:


1.通过创建任务,然后给线程分配的方式来实现的多线程.更适合多个线程同时执行相同任务的情况

2.   可以避免单继承所带来的局限性.

3.   任务与线程本身是分离的,提高了程序的健壮性.

4.后续学习的线程池技术,接受Runnable类型的任务,不接收Thread类型的线程|
 

 

 

 JDK 11.0的   Thread 类

 

获取线程的名称

 

 

 

如何终止线程?

线程在调用Sleep的方法的时候,就可能会出现异常,我们使用Try-Catch就可以抛出异常

这里抛出的异常是

InterruptedException

点开进去看源码,在这里显示了一种标记,中断标记,还有其他标记 比如 等待和休眠。

当发现有中断标记的时候,就会进入到catch语句,我们就可以在这里直接返回return,结束run方法,就相当于结束了该线程

 

主函数中

 

值得强调的是:使用interrupt中断,只是会让线程进入catch语句块,并不会死亡。是因为我们在catch语句块里面加了内容return,才导致了线程的死亡的

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

你在狗叫什么、

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值