优雅的停止线程|学习笔记

简介: 快速学习 优雅的停止线程

开发者学堂课程【Java 高级编程优雅的停止线程】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/20/detail/296


优雅的停止线程


1. 在多线程操作之中如果要启动多线程肯定使用的是 Thread 类中的 start() 方法,而如果对于多线程需要进行停止处理,Thread 类原本提供有 stop() 方法

2. 但是对于这些方法从 JDK1.2 版本开始就已经将其废除了,而且一直到现在也不再建议出现在你的代码.而除了 stop() 之外还有几个方法也被禁用

 

l 停止多线程: public void stop()

l 销毁多线程: public void destroy()

l 挂起线程: public final void suspend() 暂停执行

l 恢复挂起的线程执行: public final void resume()

 

2.之所以废除掉这些方法,主要的原因是因为这些方法有可能导致线程的死锁。所以从 JDK1.2 开始就都不建议使用,如果要想实现线程的停止需要通过一种柔和的方式来进行。

范例:实现线程柔和的停止.

package cn.mldn.demo;

public class ThreadDemo {

public static boolean flag=true;

public static void main(String[] args) throws Exception {

new Thread(() -> {

1ong num=0;

while(flag) {

try {

Thread.sleep(50);

}catch (InterruptedException e) {

e.printStackTrace();

System.out.println(Thread.currentThread().getName() +"正在运行 num = " + num++);

},"执行线程").start();

Thread.sleep(200);//运行200毫秒

flag = false ;//停止线程

}

相关文章
|
网络协议 Linux C++
Linux C/C++ 开发(学习笔记十一 ):TCP服务器(并发网络网络编程 一请求一线程)
Linux C/C++ 开发(学习笔记十一 ):TCP服务器(并发网络网络编程 一请求一线程)
358 0
|
编解码 数据安全/隐私保护 计算机视觉
Opencv学习笔记(十):同步和异步(多线程)操作打开海康摄像头
如何使用OpenCV进行同步和异步操作来打开海康摄像头,并提供了相关的代码示例。
856 1
Opencv学习笔记(十):同步和异步(多线程)操作打开海康摄像头
多线程学习笔记
这篇文章是多线程学习笔记,涵盖了线程与进程的概念、多线程实现方式、线程状态、线程同步与不安全示例、死锁问题以及生产者与消费者问题等多线程编程的关键知识点。
多线程学习笔记
|
前端开发 定位技术
前端学习笔记202305学习笔记第二十三天-地图单线程配置
前端学习笔记202305学习笔记第二十三天-地图单线程配置
223 0
前端学习笔记202305学习笔记第二十三天-地图单线程配置
FFmpeg学习笔记(二):多线程rtsp推流和ffplay拉流操作,并储存为多路avi格式的视频
这篇博客主要介绍了如何使用FFmpeg进行多线程RTSP推流和ffplay拉流操作,以及如何将视频流保存为多路AVI格式的视频文件。
1393 0
|
Java
java202303java学习笔记第三十九天自定义线程池详解1
java202303java学习笔记第三十九天自定义线程池详解1
101 0
|
NoSQL 网络协议 关系型数据库
redis-学习笔记(redis 单线程模型)
redis-学习笔记(redis 单线程模型)
134 3
|
安全 Java 编译器
多线程 (下) - 学习笔记2
多线程 (下) - 学习笔记
146 1
|
存储 算法 Java
多线程 (下) - 学习笔记1
多线程 (下) - 学习笔记
125 1
|
设计模式 安全 NoSQL
多线程 (上) - 学习笔记2
多线程 (上) - 学习笔记
136 1

热门文章

最新文章