关于Thread Interrupt的问题

问题描述

1.假如线程a正在通过JNI执行DLL的函数,还没执行完就被线程b调用了interrupt,那么本地代码部分也会随着线程的结束而结束吗?2.假如线程a正在调用SwingUtilities.Invoke(....).还没执行完,就被线程b调用了interrupt,会发生什么事情?(也就是问SwingUtilities.Invoke这个函数是不是原子操作。)暂时没有分,兄弟们有人会的话教教我吧。

解决方案

解决方案二:
自己顶一下,木有人教教我吗
解决方案三:
我也一样等待。

时间: 2024-09-17 03:53:38

关于Thread Interrupt的问题的相关文章

Java Thread.interrupt 害人! 中断JAVA线程

程序是很简易的.然而,在编程人员面前,多线程呈现出了一组新的难题,如果没有被恰当的解决,将导致意外的行为以及细微的.难以发现的错误.       在本篇文章中,我们针对这些难题之一:如何中断一个正在运行的线程.                                                                                      背景     中断(Interrupt)一个线程意味着在该线程完成任务之前停止其正在进行的一切,有效地中止其当前的操作

Thread.interrupt() 使用不当,导致程序无法退出

http://blog.chenlb.com/2009/07/incorrect-use-thread-interrupt-cause-not-exit.html Java Thread.interrupt() 使用不当,导致多线程程序无法正常退出.前段时间写的一个多线程程序:一个子线程基本是死循环地从任务池里取出任务(取的时候,没有任务会阻塞),并运行可用的任务.没有任务了,完成的时候 main 线程调用子线程的中断,抓到中断后退出子线程的死循环. 上面的程序已经正常的运行了几个月了,是一天运

认识C#线程类Thread

.NET 基础类库的System.Threading命名空间提供了大量的类和接口支持多线程.这个命名空间有很多的类.System.Threading.Thread类是创建并控制线程,设置其优先级并获取其状态最为常用的类.他有很多的方法,在这里我们将就比较常用和重要的方法做一下介绍: Thread.Start():启动线程的执行: Thread.Suspend():挂起线程,或者如果线程已挂起,则不起作用: Thread.Resume():继续已挂起的线程: Thread.Interrupt():

Java并发编程:Thread类的使用

在前面2篇文章分别讲到了线程和进程的由来.以及如何在Java中怎么创建线程和进程.今天我们来学习一下Thread类,在学习Thread类之前,先介绍与线程相关知识:线程的几种状态.上下文切换,然后接着介绍Thread类中的方法的具体使用. 以下是本文的目录大纲: 一.线程的状态 二.上下文切换 三.Thread类中的方法 若有不正之处,请多多谅解并欢迎批评指正. 请尊重作者劳动成果,转载请标明原文链接:   http://www.cnblogs.com/dolphin0520/p/3920357

停止Java线程,小心interrupt()方法

转自http://www.blogjava.net/jinfeng_wang/archive/2008/04/27/196477.html  程序是很简易的.然而,在编程人员面前,多线程呈现出了一组新的难题,如果没有被恰当的解决,将导致意外的行为以及细微的.难以发现的错误. 在本篇文章中,我们针对这些难题之一:如何中断一个正在运行的线程.  背景      中断(Interrupt)一个线程意味着在该线程完成任务之前停止其正在进行的一切,有效地中止其当前的操作.线程是死亡.还是等待新的任务或是继

你知道Thread线程是如何运作的吗?

[引自CoorChice的博客]背景介绍 我们在Android开发过程中,几乎都离不开线程.但是你对线程的了解有多少呢?它完美运行的背后,究竟隐藏了多少不为人知的秘密呢?线程间互通暗语,传递信息究竟是如何做到的呢?Looper.Handler.MessageQueue究竟在这背后进行了怎样的运作.本期,让我们一起从Thread开始,逐步探寻这个完美的线程链背后的秘密. 注意,大部分分析在代码中,所以请仔细关注代码哦! 从Thread的创建流程开始 在这一个环节,我们将一起一步步的分析Thread

Thread类的使用

在前面2篇文章分别讲到了线程和进程的由来.以及如何在Java中怎么创建线程和进程.今天我们来学习一下Thread类,在学习Thread类之前,先介绍与线程相关知识:线程的几种状态.上下文切换,然后接着介绍Thread类中的方法的具体使用. 以下是本文的目录大纲: 一.线程的状态 二.上下文切换 三.Thread类中的方法 若有不正之处,请多多谅解并欢迎批评指正. 请尊重作者劳动成果,转载请标明原文链接:   http://www.cnblogs.com/dolphin0520/p/3920357

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

interrupt方法 interrupt字面上是中断的意思,但在Java里Thread.interrupt()方法实际上通过某种方式通知线程,并不会直接中止该线程.具体做什么事情由写代码的人决定,通常我们会中止该线程.     如果线程在调用Object类的wait().wait(long)或wait(long, int)方法,或者该类的 join() .join(long) .join(long, int) .sleep(long) 或 sleep(long, int) 方法过程中受阻,则其

java 结束线程 interrupt()

http://blog.csdn.net/wxwzy738/article/details/8516253 class Example3 extends Thread {   volatile boolean stop = false;   public static void main( String args[] ) throws Exception {    Example3 thread = new Example3();    System.out.println( "Starting