java线程的中断学习

<span style="font-size:18px;">package thread.java.test;
/**
 * 在这里练习的是线程的中断
 * Thread.interrupt()来设置中断状态是true,当一个线程运行时,另一个线程可以调用另一个
 * 线程的interrupt()方法来中断他
 * Thread.isInterrupt()来获取线程的中断状态
 * Thread.interrupted()这是一个静态的方法,用来获取中断状态,并清除中断状态,
 * 其获取的是清除之前的值,连续调用两次 ,第二次一定会返回false
 * @author hello
 *@version jdk1.8.45
 *@since 2015-07-25
 *
 */
public class SleepInterrupt implements Runnable {
	public void run(){

		try {
			System.out.println("在run()方法中--这个线程休眠10秒");
			Thread.sleep(10000);
			System.out.println("在run()方法中--继续运行");
		} catch (InterruptedException e) {

			e.printStackTrace();
		}
		System.out.println("在run()方法中--休眠之后继续完成");
		System.out.println("在run()方法中--正常退出");

	}
       public static void main(String[] args) {
		SleepInterrupt si=new SleepInterrupt();
		Thread t=new Thread(si);
		t.start();
		try {
			Thread.sleep(2000);
		} catch (InterruptedException e) {
			e.printStackTrace();
		}
		System.out.println("在main()方法中--中断其他线程");
		t.interrupt();
		System.out.println("在main()中--退出");
	}
}</span>

版权声明:本文为博主原创文章,未经博主允许不得转载。

时间: 2024-12-05 14:34:11

java线程的中断学习的相关文章

Java线程阻塞中断和LockSupport的常见问题

上周五和周末,工作忙里偷闲,在看java cocurrent中也顺便再温故了一下Thread.interrupt和java 5之后的LockSupport的实现. 在介绍之前,先抛几个问题. Thread.interrupt()方法和InterruptedException异常的关系?是由interrupt触发产生了InterruptedException异常? Thread.interrupt()会中断线程什么状态的工作? RUNNING or BLOCKING? 一般Thread编程需要关注

java线程池的学习

package advancedJava;import java.util.concurrent.ExecutorService;import java.util.concurrent.Executors;import java.util.concurrent.TimeUnit; * java 线程池学习 * @author: cuiH * Date: 13-12-7public class ThreadPoolTest { * 线程池的概念 * jdk5提出了ThreadPool的概念 * 之

【Java线程池快速学习教程】

1. Java线程池 线程池:顾名思义,用一个池子装载多个线程,使用池子去管理多个线程. 问题来源:应用大量通过new Thread()方法创建执行时间短的线程,较大的消耗系统资源并且系统的响应速度变慢.[在一个什么程度上能够判断启用线程池对系统的资源消耗比启动定量的new Thread()资源消耗低?这个怎么测试?][用户体验卡顿?慢?观察CPU百分比?] 解决办法:使用线程池管理短时间执行完毕的大量线程,通过重用已存在的线程,降低线程创建和销毁造成的消耗,提高系统响应速度. 2. Java线

Java线程的中断(Interruption)

任务和线程的启动很容易.在大多数时候,我们都会让它们运行直到结束,或者让它们自行停止.然而,有时候我们希望提前结束任务或线程,或许是因为用户取消了操作,或者应用程序需要被快速关闭. 要使任务和线程能安仝.快速.可靠地停止下来,并不是一件容易的事.Java的Thread类为我们提供了stop(),suspend()等停止挂起线程的方法,但是由于安全问题目前都已被弃用.Java并没有提供一种安全的抢占式方法来停止线程,但它提供了中断(Interruption),这是一种协作机制,采用协作式的方式使一

java线程阻塞中断与LockSupport使用介绍

上周五和周末,工作忙里偷闲,在看java cocurrent中也顺便再温故了一下Thread.interrupt和java 5之后的LockSupport的实现. 在介绍之前,先抛几个问题. Thread.interrupt()方法和InterruptedException异常的关系?是由interrupt触发产生了InterruptedException异常? Thread.interrupt()会中断线程什么状态的工作? RUNNING or BLOCKING? 一般Thread编程需要关注

Java 线程由浅入深 持续学习

线程状态 在Thread.State 中关于线程状态的解释 NEW Thread state for a thread which has not yet started. RUNNABLE Thread state for a runnable thread. A thread in the runnable state is executing in the Java virtual machine but it may be waiting for other resources from

Java线程安全synchronize学习

Java中,synchronized关键字有2种用法: 作为关键字修饰方法 修饰一个代码块 [TOC] 线程争用 为了探究synchronized的具体用法,可以用一个简单的程序来说明: package fc.learn.java.synchronize; import java.util.Random; public class LearningSynchronized { public enum SyncTypeTag { OBJ_METHOD, CLASS_METHOD, KEYWARD_

Java线程池详解(二)

一.前言 在总结了线程池的一些原理及实现细节之后,产出了一篇文章:Java线程池详解(一),后面的(一)是在本文出现之后加上的,而本文就成了(二).因为在写完第一篇关于java线程池的文章之后,越发觉得还有太多内容需要补充,每次都是修修补补,总觉得还缺点什么.在第一篇中,我着重描述了java线程池的原理以及它的实现,主要的点在于它是如何工作的.而本文的内容将更为上层,重点在于如何应用java线程池,算是对第一篇文章的一点补充,这样对于java线程池的学习和总结稍微完整一些. 使用过java线程池

Java并发学习之三——线程的中断

本文是学习网络上的文章时的总结,感谢大家无私的分享. 1.一个多个线程在执行的Java程序,只有当其全部的线程执行结束时(更具体的说,是所有非守护线程结束或者某个线程调用System.exit()方法的时候),它才会结束运行.有时,你需要为了终止程序而结束一个线程,或者当程序的用户想要取消某个Thread对象正在做的任务. 2.Java提供中断机制来通知线程表明我们想要结束它.中断机制的特性是线程需要检查是否被中断,而且还可以决定是否相应结束的请求.所以,线程可以忽略中断请求并且继续运行. 3.