Java Thread interrupt
现有线程对象threadA,调用threadA.interrupt(),则threadA中interrupted状态会被置成false,很多线程中都是通过isInterrupted()方法来检测线程是否中断,但在使用该过程中需要注意,run()方法中是否有其他代码捕获了InterruptedException异常,如果是,则会出现线程无法中断的可能性,主要代码如下:
public class DemoTest() {
    public static void main(String[] args) {
        new DemoTest();
    }
    public DemoTest() {
        ThreadTest threadTest = new ThreadTest();
        threadTest.start();
        Thread.sleep(1000);
        threadTest.interrupt();//此处想中断线程,如果在中断的时刻,刚好该线程处于sleep状态,则会被该线程的sleep方法的异常捕获
    }
    class ThreadTest extends Thread {
        public void run() {
            while(!isInterrupted()) {
                 /**
                  * your business code
                  * blah.blah......
                  */
                try {
                    Thread.sleep(1000);//you may need take a break
                } catch(InterruptedException e) {
                    Thread.currentThread.interrupt();//此处关键,调用当前线程interrupt()方法,可能会导致想中断的线程无法中断,需再次调用当前线程的interrupt()方法
                }
            }
        }
    }
}
Java Thread interrupt的更多相关文章
- Java Thread.interrupt interrupted
		Java Thread.interrupt @(Base)[JDK, 线程, interrupt] 原文地址,转载请注明 下面这个场景你可能很熟悉,我们调用Thread.sleep(),conditi ... 
- Java Thread.interrupt 害人! 中断JAVA线程(zz)
		http://www.blogjava.net/jinfeng_wang/archive/2012/04/22/196477.html#376322 ————————————————————————— ... 
- Thread  interrupt() 线程中断的详细说明
		GitHub源码地址 原创声明:作者:Arnold.zhao 博客园地址:https://www.cnblogs.com/zh94 一个线程不应该由其他线程来强制中断或停止,而是应该由线程自己自行停止 ... 
- Java Thread 的使用
		Java Thread 的使用 Java Thread 的 run() 与 start() 的区别 Java Thread 的 sleep() 和 wait() 的区别 一.线程的状态 在正式学习 ... 
- Java thread中对异常的处理策略
		转载:http://shmilyaw-hotmail-com.iteye.com/blog/1881302 前言 想讨论这个话题有一段时间了.记得几年前的时候去面试,有人就问过我一个类似的问题.就是j ... 
- Thread interrupt方法解析
		初步理解 我们在看一些多线程代码的时候,有的时候会碰到使用interrupt()方法的时候.从字面的意思来理解,应该就是中断当前正在执行的线程.那么,对于一个我们设计的普通线程来说,如果我们在主线程里 ... 
- 注意Thread.interrupt()方法的真正作用并不是用来中断线程
		程序是很简易的.然而,在编程人员面前,多线程呈现出了一组新的难题,如果没有被恰当的解决,将导致意外的行为以及细微的.难以发现的错误. 在本篇文章中,我们针对这些难题之一:如何中断一个正在 ... 
- java Thread 接口学习
		对于程序员来说 Thread应该都不会陌生,具体的接口调用不是本篇的重点.Thread的基本概念及接口的使用:java多线程 下面将更多的从底层实现角度讲一下Thread. Thread的声明如下: ... 
- Java 多线程 interrupt方法
		interrupt 下面是interrupt方法的文档的一部分: * <p> If this thread is blocked in an invocation of the {@lin ... 
随机推荐
- 做优步有什么旁门左道吗?No,贪小便宜会吃大亏!
			滴快车单单2.5倍,注册地址:http://www.udache.com/ 如何注册Uber司机(全国版最新最详细注册流程)/月入2万/不用抢单:http://www.cnblogs.com/mfry ... 
- VB二进制文件读写
			数组存取 存数组 Private Sub Command2_Click() Dim fileNumber As Integer Dim S9 As String Dim k As Integer Di ... 
- 【C++深入浅出】设计模式学习之简单工厂
			看大话设计模式中大牛对小菜的精辟点评,也写了一个计算器程序,并跟着点评一路改良,还是不过瘾,应用了类模板和异常捕捉机制重写了程序. 本文不能算干货,恰当的比方是饭前甜点,吃一口有点味.有点意思,总归太 ... 
- Python FTP多线程爆破脚本
			初学python, 自己编写了个FTP多线爆破小脚本代码很丑= = #!usr/bin/env python #!coding=utf-8 __author__='zhengjim' from ftp ... 
- java常用string inputStream转换
			1.String –> InputStream InputStrem is = new ByteArrayInputStream(str.getBytes()); 或者 ByteArrayInp ... 
- java--静态的应用(工具类)
			ArrayTool.java文件 /** 静态的应用. 每一个应用程序中都有公行动的功能,可以将这些功能进行抽取,独立封装以便复用 由于ArrayTool中并没有封装特有数据,而且数组的每一个方法也没 ... 
- iOS-推送通知
			推送通知可以做3件事:(1)文字信息(2)一种声音 (3)一个徽章的标记号(第几条消息..) 推送通知流程 (app应用程序--->iOS 设备--->APNS(apple服务器)--- ... 
- Android手机中获取手机号码和运营商信息
			代码如下: package com.pei.activity; import android.app.Activity; import android.os.Bundle; import androi ... 
- Android ListView快速定位(一)
			方法一: SectionIndexer接口 + 索引列表 参考:http://www.apkbus.com/android-69999-1-1.html 所谓section 就是一组有共性的item, ... 
- android115  自定义控件
			布局: <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:to ... 
