停止线程是在多线程开发时重要的技术。 停止一个线程可以使用Thread.stop()方法,但不建议使用它,这个方法是不安全的,且已经过时。 在java中有以下3种方法可以终止正在运行的线程 1)使用退出标志,使线程正常退出,也就是当run方法完成后,线程终止 2)使用stop方法强行终止线程,但不推 ...
分类:
编程语言 时间:
2017-12-03 14:44:15
阅读次数:
185
1. 本周学习总结 1.1 以你喜欢的方式(思维导图或其他)归纳总结多线程相关内容。 2. 书面作业 本次PTA作业题集多线程 1. 源代码阅读:多线程程序BounceThread 1.1 BallRunnable类有什么用?为什么代码中需要调用Thread.sleep进行休眠? 答:1、 类的作用 ...
分类:
编程语言 时间:
2017-12-02 22:05:58
阅读次数:
225
1、interrupt() interrupt方法用于中断线程。调用该方法的线程的状态为将被置为"中断"状态。 注意:线程中断仅仅是置线程的中断状态位,不会停止线程。需要用户自己去监视线程的状态为并做处理。 2、interrupted() 和 isInterrupted() public stati ...
分类:
其他好文 时间:
2017-11-25 20:42:22
阅读次数:
270
一、Thread.stop()官方不推荐,Because it is inherently unsafe. 二、方式一1. 线程类示例 2. 使用示例 三、方式二1. 线程类示例 2.使用示例 附、关于Thread.interrupt()通过这个方式也能停止线程。前提条件: ...
分类:
编程语言 时间:
2017-11-21 21:59:05
阅读次数:
219
场景:为了防止UI卡死,使用异步下载文件 问题:采用多线程下载,关闭窗口后下载线程不能停止,线程操作麻烦。 参考:C#客户端的异步操作: http://www.cnblogs.com/fish-li/archive/2011/10/23/2222013.html 方案:采用BeginInvoke的方 ...
Sleep停止线程: 在Sleep状态下被interrupt,interrupted 状态会被擦除,返回false。 线程在Sleep状态下被interrupt: 运行结果: 线程在Sleep之前被interrupt: 运行结果: ...
分类:
编程语言 时间:
2017-10-15 14:22:18
阅读次数:
228
背景 由于使用stop方法停止线程非常的暴力,可能会导致一系列问题,因此,提出一种温和的方式:请求另外一个先不要在执行了,这就是中断方式。 此外有这样的场景:编写 一个程序,需要暂停一段时间,于是调用Thread.sleep(),但是编译器或IDE报错说没有处理检查到的InterruptedExce ...
分类:
编程语言 时间:
2017-10-09 20:52:41
阅读次数:
160
《java并发编程实战》的第7章是任务的取消与关闭。我觉得这一章和第6章任务执行同样重要,一个在行为良好的软件和勉强运行的软件之间的最主要的区别就是,行为良好的软件能很完善的处理失败、关闭和取消等过程。 一、任务取消 在java中没有一种安全的抢占式(收到中断请求就立刻停止)的方式来停止线程,因此也 ...
分类:
编程语言 时间:
2017-10-04 12:17:15
阅读次数:
262
在Thread类中提供了可以停止线程的方法(包括杀死和挂起): @Deprecated public final void stop(){} @Deprecated public final void suspend(){} stop 和 suspend 添加的有Deprecated注释,也即是该方 ...
分类:
编程语言 时间:
2017-08-13 17:33:26
阅读次数:
235