2019独角兽企业重金招聘Python工程师标准>>>

1.线程的错误停止方法 stop

为什么stop是自带的方法还是错误的呢?

a:线程戛然而止

b:我们不知道线程完成了哪些工作,还有哪些没有做

c:线程stop了,我们都没有机会去做一些清理工作

比如:接之前的代码,进行修改

运行结果

我们可以看到,我们都没有看到

如果在数据库中做操作,那真的不知道会发生上面意外,也没有时间去做一些清理工作,这对业务和系统都是有害的

那怎么才是停止线程的方法呢?

答:设置退出标志我们之前的代码

我们设置了一个外部的旗标,这样的方式我们能在尾部执行我们的清理工作。

2.广为流传的停止线程的方法interrupt

这种方式也是错误的,interrupt()的初衷也并不是去停止线程

先看看API

关键点

所以呢,用interrupt就不合适停止,具体的我也说不上来,自己记录自己看吧。

转载于:https://my.oschina.net/u/3194578/blog/2053039

Java多线程第三节-线程的正确停止相关推荐

  1. Java多线程之守护线程实战

    转载自 Java多线程之<<守护线程>>实战 定义 什么是守护线程?与守护线程相对应的就是用户线程,守护线程就是守护用户线程,当用户线程全部执行完结束之后,守护线程才会跟着结束 ...

  2. Java多线程系列--“JUC线程池”06之 Callable和Future

    转载自  Java多线程系列--"JUC线程池"06之 Callable和Future Callable 和 Future 简介 Callable 和 Future 是比较有趣的一 ...

  3. Java多线程学习九:如何正确关闭线程池?shutdown 和 shutdownNow 的区别

    如何正确关闭线程池?以及 shutdown() 与 shutdownNow() 方法的区别?首先,我们创建一个线程数固定为 10 的线程池,并且往线程池中提交 100 个任务,如代码所示. 复制代码 ...

  4. JAVA多线程:守护线程 setDaemon全方位剖析| 守护线程是线程吗 |thread.isAlive()反思(五)

    前言 本文目的,通过短小精悍的实例,让你在最短时间,全面揭晓 thread.setDaemon(true)守护线程的使用,及其使用场景.一看就懂,一学就会! 概述 守护线程的作用 用来让其(这里暂称之 ...

  5. Java多线程1(线程创建)

    一 线程与进程 什么是进程? 电脑中时会有很多单独运行的程序,每个程序有一个独立的进程,而进程之间是相互独立存在的.比如下图中的QQ.酷狗播放器.电脑管家等等.在这里插入图片描述 什么是线程? 进程想 ...

  6. java多线程抽奖_java 线程池、多线程并发实战(生产者消费者模型 1 vs 10) 附案例源码...

    导读 前二天写了一篇<Java 多线程并发编程>点我直达,放国庆,在家闲着没事,继续写剩下的东西,开干! 线程池 为什么要使用线程池 例如web服务器.数据库服务器.文件服务器或邮件服务器 ...

  7. Java多线程-新特性-线程池

    Sun在Java5中,对Java线程的类库做了大量的扩展,其中线程池就是Java5的新特征之一,除了线程池之外,还有很多多线程相关的内容,为多线程的编程带来了极大便利.为了编写高效稳定可靠的多线程程序 ...

  8. java多线程问题,线程交替执行

    两个线程,一个打印1-100的奇数,一个打印1-100的偶数:要求:线程1打印5个之后,线程2开始打印,线程2打印5个之后,线程1再开始打印,以此循环. package threadtest;publ ...

  9. java多线程示例_Java线程示例

    java多线程示例 Welcome to the Java Thread Example. Process and Thread are two basic units of execution. C ...

  10. Java多线程之暂停线程

    暂停线程 暂停线程意味着此线程还可以恢复运行.在Java多线程中,suspend()方法可以暂停线程,resume()方法可以恢复线程. 这两个方法都是已经过时的方法. 1.8.1suspend与re ...

最新文章

  1. 一图读懂|《“十四五”大数据产业发展规划》
  2. linux 修改 ko文件内核版本号
  3. java 写文件filewriter_使用FileWriter写文件
  4. linux查看正在运行的窗口,获取linux中打开的应用程序窗口的数量
  5. day5 JavaEE实战班
  6. 嘉年华回顾丨杜小勇教授带你解密One Size Does not Fit All?
  7. Netty工作笔记0014---Buffer类型化和只读
  8. 如何在SQL Server 2016中比较查询执行计划
  9. atitit.激活一个窗口总结 swing java .net php
  10. python函数缺省参数实例_Python中函数及默认参数的定义与调用操作实例分析
  11. 领域的初学者--推荐的一本书
  12. 【嵌入式】基于ARM的嵌入式Linux开发总结
  13. 解决IE8 iframe透明的问题
  14. [iOS]分析Mach-O文件
  15. 横河DLM2000示波器连接电脑
  16. Excel从数据中挑出几个数值使其和为某一固定值
  17. kali终端打不开以及msfconsole打不开
  18. 电子设计应用超声波测距仪的设计
  19. vue3定位当前位置,获取当前位置的经纬度
  20. Java开发为何深入人心 ?我来带你解开 Spring、IoC、DI 的秘密~

热门文章

  1. 使用IdleTest进行TDD单元测试驱动开发演练(3) 之 ASP.NET MVC
  2. JBOSS AS 性能调整优化
  3. 李宏毅机器学习homework0
  4. 批量将csv转换成shp
  5. 前端实践(4)——表单验证(密码重复输入检查)
  6. linux ubuntu系统远程连接linux ubuntu
  7. Linux下rpm、yum和源码三种安装方式详细介绍
  8. JavaEE学习--javascript中的正则表达式
  9. 10个小技巧:快速用Python进行数据分析
  10. 软件开发方法之敏捷开发,你用了么?