线程的停止、守护线程、join()方法

一、线程的停止:
之前有stop()方法,虽然依旧可以用,但是已经过时了,因此推荐如下的方法。
1、停止一个线程:我们一般都会通过一个变量去控制的。
线程的停止、守护线程、join()方法_第1张图片

2、如果需要停止一个处于等待状态下的线程,那么我们需要通过变量配合notify方法或者interrupt()来使用。
前提:处于等待(阻塞)状态的线程,可能会使程序一直处于运行状态。
线程的停止、守护线程、join()方法_第2张图片
1)notify():偶尔可以停止。
线程的停止、守护线程、join()方法_第3张图片
2)interrupt():把线程的等待状态强制清除,被清除状态的线程会接收到一个InterruptedException异常。
线程的停止、守护线程、join()方法_第4张图片

二、守护线程
线程的停止、守护线程、join()方法_第5张图片
1、守护线程(后台线程):在一个进程中如果只剩下了守护线程,那么守护线程也会死亡。

2、注意事项:一个线程默认不是守护线程。
线程的停止、守护线程、join()方法_第6张图片

3、需求: 模拟QQ下载更新包。
线程的停止、守护线程、join()方法_第7张图片

三、join()方法详解:
1、 join(): 加入。

2、需求:
线程的停止、守护线程、join()方法_第8张图片

3、解决方法:
线程的停止、守护线程、join()方法_第9张图片

你可能感兴趣的:(Core,Java高级)