Java多线程第三节-线程的正确停止
2019独角兽企业重金招聘Python工程师标准>>>
1.线程的错误停止方法 stop
为什么stop是自带的方法还是错误的呢?
a:线程戛然而止
b:我们不知道线程完成了哪些工作,还有哪些没有做
c:线程stop了,我们都没有机会去做一些清理工作
比如:接之前的代码,进行修改
运行结果
我们可以看到,我们都没有看到
如果在数据库中做操作,那真的不知道会发生上面意外,也没有时间去做一些清理工作,这对业务和系统都是有害的
那怎么才是停止线程的方法呢?
答:设置退出标志我们之前的代码
我们设置了一个外部的旗标,这样的方式我们能在尾部执行我们的清理工作。
2.广为流传的停止线程的方法interrupt
这种方式也是错误的,interrupt()的初衷也并不是去停止线程
先看看API
关键点
所以呢,用interrupt就不合适停止,具体的我也说不上来,自己记录自己看吧。
转载于:https://my.oschina.net/u/3194578/blog/2053039
Java多线程第三节-线程的正确停止相关推荐
- Java多线程之守护线程实战
转载自 Java多线程之<<守护线程>>实战 定义 什么是守护线程?与守护线程相对应的就是用户线程,守护线程就是守护用户线程,当用户线程全部执行完结束之后,守护线程才会跟着结束 ...
- Java多线程系列--“JUC线程池”06之 Callable和Future
转载自 Java多线程系列--"JUC线程池"06之 Callable和Future Callable 和 Future 简介 Callable 和 Future 是比较有趣的一 ...
- Java多线程学习九:如何正确关闭线程池?shutdown 和 shutdownNow 的区别
如何正确关闭线程池?以及 shutdown() 与 shutdownNow() 方法的区别?首先,我们创建一个线程数固定为 10 的线程池,并且往线程池中提交 100 个任务,如代码所示. 复制代码 ...
- JAVA多线程:守护线程 setDaemon全方位剖析| 守护线程是线程吗 |thread.isAlive()反思(五)
前言 本文目的,通过短小精悍的实例,让你在最短时间,全面揭晓 thread.setDaemon(true)守护线程的使用,及其使用场景.一看就懂,一学就会! 概述 守护线程的作用 用来让其(这里暂称之 ...
- Java多线程1(线程创建)
一 线程与进程 什么是进程? 电脑中时会有很多单独运行的程序,每个程序有一个独立的进程,而进程之间是相互独立存在的.比如下图中的QQ.酷狗播放器.电脑管家等等.在这里插入图片描述 什么是线程? 进程想 ...
- java多线程抽奖_java 线程池、多线程并发实战(生产者消费者模型 1 vs 10) 附案例源码...
导读 前二天写了一篇<Java 多线程并发编程>点我直达,放国庆,在家闲着没事,继续写剩下的东西,开干! 线程池 为什么要使用线程池 例如web服务器.数据库服务器.文件服务器或邮件服务器 ...
- Java多线程-新特性-线程池
Sun在Java5中,对Java线程的类库做了大量的扩展,其中线程池就是Java5的新特征之一,除了线程池之外,还有很多多线程相关的内容,为多线程的编程带来了极大便利.为了编写高效稳定可靠的多线程程序 ...
- java多线程问题,线程交替执行
两个线程,一个打印1-100的奇数,一个打印1-100的偶数:要求:线程1打印5个之后,线程2开始打印,线程2打印5个之后,线程1再开始打印,以此循环. package threadtest;publ ...
- java多线程示例_Java线程示例
java多线程示例 Welcome to the Java Thread Example. Process and Thread are two basic units of execution. C ...
- Java多线程之暂停线程
暂停线程 暂停线程意味着此线程还可以恢复运行.在Java多线程中,suspend()方法可以暂停线程,resume()方法可以恢复线程. 这两个方法都是已经过时的方法. 1.8.1suspend与re ...
最新文章
- 一图读懂|《“十四五”大数据产业发展规划》
- linux 修改 ko文件内核版本号
- java 写文件filewriter_使用FileWriter写文件
- linux查看正在运行的窗口,获取linux中打开的应用程序窗口的数量
- day5 JavaEE实战班
- 嘉年华回顾丨杜小勇教授带你解密One Size Does not Fit All?
- Netty工作笔记0014---Buffer类型化和只读
- 如何在SQL Server 2016中比较查询执行计划
- atitit.激活一个窗口总结 swing java .net php
- python函数缺省参数实例_Python中函数及默认参数的定义与调用操作实例分析
- 领域的初学者--推荐的一本书
- 【嵌入式】基于ARM的嵌入式Linux开发总结
- 解决IE8 iframe透明的问题
- [iOS]分析Mach-O文件
- 横河DLM2000示波器连接电脑
- Excel从数据中挑出几个数值使其和为某一固定值
- kali终端打不开以及msfconsole打不开
- 电子设计应用超声波测距仪的设计
- vue3定位当前位置,获取当前位置的经纬度
- Java开发为何深入人心 ?我来带你解开 Spring、IoC、DI 的秘密~