InterruptDemo.class
package com.jdk.api.demo;
枷锁时,io 中断不起作用。
中断只对wait sleep 等函数起作用
public class InterruptDemo {
public static void main(String[] args) throws InterruptedException{
Thread run = new Thread(new RunClass0());
run.start();
System.out.println("isDaemon:"+run.isDaemon());
Thread.sleep(10000);
run.interrupt();
System.out.println("isDaemon:"+run.isDaemon()+"--1--"+run.isInterrupted());
//run.isInterrupted() 不会取消终端状态
}
}
/**
* 根本不会理会 run.interrupt();的中断,代码会一直运行下去
* @author aircoder
*
*/
class RunClass implements Runnable{
@Override
public void run() {
long i=0;
while(true){
if(i==1000000000){
System.out.println("I'm still alive!");
i = 0;
System.out.println("--1--"+Thread.interrupted());//会取消中断的标志
}
else{
i++;
}
}
}
}
/**
* run.interrupt(); 执行后代码就会结束
* @author aircoder
*
*/
class RunClass0 implements Runnable{
@Override
public void run() {
long i=0;
while(true && !Thread.currentThread().isInterrupted()){//检查代码是否发生了中断
if(i==1000000000){
System.out.println("I'm still alive!");
i = 0;
}
else{
i++;
}
}
}
}
分享到:
相关推荐
控制流程中断 java中用break代替goto语句
本示例将详细探讨Java中断线程的正确方法,以确保线程安全且高效地退出。 首先,我们需要了解Java中的线程中断机制。线程中断是通过调用`Thread.interrupt()`方法来实现的,它会设置线程的中断标志。当线程正在运行...
这个概念在【标题】"Java中断言使用案例"中被强调,而【描述】进一步指出文档会探讨使用断言的优势及其用法。下面将详细阐述Java中断言的原理、好处以及如何使用。 1. **什么是Java断言**: Java断言是一种机制,...
Java中断一个线程操作示例 Java中断一个线程操作是指在某个线程正在执行任务时,强制其停止当前操作的行为。Java提供了多种方式来中断一个线程,包括interrupt()、isInterrupted()和interrupted()函数。这些函数的...
以下是关于Java中断线程的一些关键知识点: 1. **线程状态**:在Java中,线程有多种状态,包括新建、可运行、运行、阻塞、等待、超时等待和终止。中断线程主要是针对那些处于运行、阻塞或等待状态的线程。 2. **...
Java如何中断一个正在运行的线程 Java中的线程中断是指在某个线程完成任务之前停止其正在进行的...本文对Java中断一个正在运行的线程进行了详细的介绍和分析,旨在帮助读者更好地理解和掌握线程中断的知识和技能。
以下是对Java中断线程的详细解释: 1. **线程终止条件**: - 当`run`方法执行完毕。 - `return`语句执行,提前结束`run`方法。 - 出现未捕获的异常,导致`run`方法终止。 2. **`stop`方法的弃用**: Java早期...
* InterruptedException:(线程)中断异常,用于表示 Java 线程中断异常。 * Try:尝试,用于表示 Java 语言的 try-catch 语句。 * Catch:捕捉,用于表示 Java 语言的 try-catch 语句。 * Finally:最后,用于表示...
Java线程中断是一种重要的线程控制机制,允许一个线程通知另一个线程停止其执行。在Java中,中断线程主要是通过调用`Thread`对象的`interrupt()`方法来实现的。这个方法并不会立即停止目标线程,而是设置一个中断...
Java 多线程中断代码详解 Java 中断机制是多线程编程中的一种重要机制。它允许一个线程请求另一个线程停止执行某个操作或退出线程。Java 提供了多种方式来中断线程,包括使用 stop() 方法、interrupt() 方法和使用 ...
在处理InterruptedException时,首先要了解它是由Java中断机制触发的,当一个线程正在等待、休眠或执行阻塞I/O操作时,被调用了interrupt()方法时,会立即抛出InterruptedException。因此,开发者需要在这些可能抛出...
在Java编程中,线程中断是一项关键的并发控制机制,用于在多线程环境中优雅地终止或改变线程的行为。本文将深入探讨Java线程中断的本质以及编程原则。 首先,理解线程中断的本质。Java线程中断并不意味着强制停止一...
Java线程中断机制是Java多线程编程中的一个重要概念,它允许程序在执行过程中通过某种方式通知线程停止其当前的活动,以便进行资源释放或流程控制。在Java中,线程中断主要通过`Thread.interrupt()`方法实现,这个...
InterruptedException的处理要求开发者理解Java中断机制,并在设计程序时考虑到线程的安全中断和资源的正确管理。通过上述步骤和策略,可以确保多线程程序在面对中断请求时能够更加健壮和灵活。
Java中断异常(InterruptedIOException)是Java中关于输入输出流操作时的一种中断机制。当多线程环境下,如果一个线程正在执行一个IO操作,而该线程被中断,那么这个IO操作可能会抛出InterruptedIOException。这个...
在Java程序设计中,`...此外,理解Java中断机制和线程状态的变化对于编写鲁棒的I/O操作代码至关重要。无论是在单个线程还是线程池环境下,合理地管理中断和资源都是避免资源泄露和确保应用程序稳定运行的关键。
本节将重点讨论两种常见的异步处理策略:轮询和中断,以及它们在Java开发中的应用。 一、轮询 轮询是一种监控或检查特定条件是否满足的方法,直到该条件变为真或者达到某个预设的停止条件。在Java中,轮询通常用于...