`
standalone
  • 浏览: 615321 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

java interrupt

    博客分类:
  • java
阅读更多

See following tutorial from sun:

An interrupt is an indication to a thread that it should stop what it is doing and do something else. It's up to the programmer to decide exactly how a thread responds to an interrupt, but it is very common for the thread to terminate. This is the usage emphasized in this lesson.

So if a thread is interrupted, it maybe continue to run without stop. Whether it will stop is up to the programmer.

See the example below: ( I copied from http://hapinwater.iteye.com/blog/310558)

class ATask implements Runnable{   
  
    private double d = 0.0;   
       
    public void run() {   
        //死循环执行打印"I am running!" 和做消耗时间的浮点计算   
        while (true) {   
            System.out.println("I am running!");   
               
            for (int i = 0; i < 900000; i++) {   
                d =  d + (Math.PI + Math.E) / d;   
            }   
            //给线程调度器可以切换到其它进程的信号   
            Thread.yield();   
        }   
    }   
}   
  
public class InterruptTaskTest {   
       
    public static void main(String[] args) throws Exception{   
        //将任务交给一个线程执行   
        Thread t = new Thread(new ATask());   
        t.start();   
           
        //运行一断时间中断线程   
        Thread.sleep(100);   
        System.out.println("****************************");   
        System.out.println("Interrupted Thread!");   
        System.out.println("****************************");   
        t.interrupt();   
    }   
}   

 
The result shows:

......   
I am running!   
I am running!   
I am running!   
I am running!   
****************************   
Interrupted Thread!   
****************************   
I am running!   
I am running!   
I am running!   
I am running!   
I am running!   
....  

 

Check here for more information about interrupt in java:

http://hapinwater.iteye.com/blog/310558 

分享到:
评论

相关推荐

    Java interrupt()方法使用注意_动力节点Java学院整理

    Java的`interrupt()`方法在多线程编程中扮演着重要的角色,它允许程序员通知一个线程,它的执行应该被中断。然而,理解`interrupt()`方法的正确使用方式至关重要,因为直接调用`interrupt()`并不总是能立即停止线程...

    Java如何使用interrupt()终止线程

    Java中使用interrupt()终止线程的详细介绍 在Java中,终止线程是一种复杂的操作,需要对线程的状态和中断机制有深入的了解。本文将详细介绍如何使用interrupt()终止线程,并提供了多种终止线程的方式和示例代码。 ...

    interrupt()和线程终止方式_动力节点Java学院整理

    线程的thread.interrupt()方法是中断线程,将会设置该线程的中断状态位,即设置为true,中断的结果线程是死亡、还是等待新的任务或是继续运行至下一步,就取决于这个程序本身。线程会不时地检测这个中断标示位,以...

    Java多线程之中断线程(Interrupt)的使用详解

    Java中的多线程允许并发执行多个任务,而中断机制是Java提供的一种优雅地停止线程执行的方式。`Thread.interrupt()`方法是中断线程的主要手段,但它的行为并不像字面意义上那样直接终止线程。相反,它通过设置线程的...

    java线程中的interrupt,isInterrupt,interrupted方法

    java 线程中的 interrupt,isInterrupt,interrupted 方法详解 在 Java 中,线程(Thread)类提供了三个相关的方法:interrupt、isInterrupted 和 interrupted,这三个方法都是用于处理线程的中断状态的。下面我们将...

    [Java基础]猜测Java的interrupt和sleep做了什么

    在Java编程语言中,`interrupt()` 和 `sleep()` 是两个非常关键的方法,它们与线程的控制和管理密切相关。理解这两个方法的工作原理是构建多线程应用程序的基础。 首先,我们来探讨 `interrupt()` 方法。在Java中,...

    Java中interrupt的使用.docx

    总的来说,Java的中断机制提供了一种安全且灵活的方式来停止线程,通过结合使用`interrupt()`, `isInterrupted()`, 和 `interrupted()`方法,以及妥善处理`InterruptedException`,可以确保线程在适当的时候优雅地...

    java线程中断之interrupt和stop.docx

    ### Java线程中断机制详解:`interrupt`与`stop`方法 #### 一、引言 在Java多线程编程中,线程控制是至关重要的技术之一。有时我们需要在特定条件下停止某个线程的执行,或者中断正在等待的线程。Java提供了多种...

    一个线程join另一个线程,(包括和interrupt互动的用法)1---马克-to-win java视频

    一个线程join另一个线程,(包括和interrupt互动的用法)1---马克-to-win java视频

    一个线程join另一个线程,(包括和interrupt互动的用法)3---马克-to-win java视频

    一个线程join另一个线程,(包括和interrupt互动的用法)3---马克-to-win java视频

    浅谈Java线程Thread之interrupt中断解析

    Java线程Thread之interrupt中断解析 Java线程Thread之interrupt中断机制是Java多线程编程中的一种重要机制。通过调用Thread.interrupt()方法,可以设置线程的中断状态位,线程会不时地检测这个中断标示位,以判断...

    深入分析JAVA 多线程--interrupt()和线程终止方式

    JAVA 多线程 interrupt() 和线程终止方式 JAVA 多线程中,interrupt() 和线程终止方式是两个非常重要的概念。本文将深入分析 JAVA 多线程中 interrupt() 和线程终止方式的相关知识。 一、interrupt() 介绍 ...

    线程关闭javacv关闭20190508.rar

    Java提供了interrupt()方法来请求线程停止,但是这并不保证线程会立即停止,线程可能还需要完成一些清理工作。因此,线程应该定期检查是否被中断,并在适当的时候终止自己的运行。此外,确保释放所有打开的资源,如...

    基于JDK8总结java中的interrupt

    基于JDK8总结java中的interrupt知识 在Java中,interrupt机制是一种重要的线程控制机制,它允许一个线程请求另一个线程停止或中断当前操作。基于JDK8,我们可以总结出以下关于java中的interrupt知识点: 1. ...

    5-2_Java底层开发技术(Java高级).pdf

    Java 提供了多种线程操作方法,例如 wait() 方法使线程等待,notify() 方法唤醒等待线程,interrupt() 方法中断线程等。 同步与死锁是多线程中需要注意的两个问题。同步是指多个线程同时访问共享资源时,需要使用锁...

    java调用c#样例

    在IT行业中,跨平台通信是一个常见的需求,尤其是在Java和.NET框架之间。本示例主要探讨如何使用Java调用C#编写的DLL文件,这通常通过Java COM Bridge来实现,其中 Jacob(Java COM Bridge)是一个非常实用的工具。...

    Java多线程编程核心技术_完整版_java_

    1. Thread.interrupt():用于中断线程,但不一定立即停止,需要在run()方法内部检查中断标志并作出相应处理。 2. InterruptedException:线程被中断时抛出的异常,通常需要捕获并处理。 九、线程死锁 1. 死锁的概念...

    java中 如何终止一个线程

    当我们调用`thread.interrupt()`时,Java虚拟机会执行以下步骤: 1. 设置线程的中断状态。 2. 如果线程当前正在阻塞状态,则会清除其阻塞状态,并抛出`InterruptedException`。 3. 如果线程正在执行阻塞IO操作,则...

    JAVA并发编程艺术pdf版

    - interrupt()方法用于中断线程,isInterrupted()和interrupted()检查线程是否被中断,通常配合循环使用,中断标志可以作为退出循环的条件。 通过深入学习《JAVA并发编程艺术》,开发者能更好地理解并发编程的原理...

Global site tag (gtag.js) - Google Analytics