public class SleepThread extends Thread{
@Override
public void run() {
try {
while(true){
System.out.println("sleep start");
Thread.sleep(10000);
System.out.println("sleep end");
}
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
public class ThreadTest {
/**
* @param args
*/
public static void main(String[] args) {
Thread t1=new SleepThread();
t1.start();
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
e.printStackTrace();
}
t1.interrupt();
}
}
运行:
引用
sleep start
java.lang.InterruptedException: sleep interrupted
at java.lang.Thread.sleep(Native Method)
at SleepThread.run(SleepThread.java:9)
分享到:
相关推荐
Java中使用interrupt()终止线程的详细介绍 在Java中,终止线程是一种复杂的操作,需要对线程的状态和中断机制有深入的了解。本文将详细介绍如何使用interrupt()终止线程,并提供了多种终止线程的方式和示例代码。 ...
在多线程环境中,有时我们需要强制结束某个线程,这通常被称为“终止线程”。然而,线程的终止并不是一个简单的过程,因为它涉及到线程安全、资源释放以及同步等问题。下面我们将深入探讨终止线程的相关知识点。 1....
终止处于“运行状态”的线程,可以通过在 run() 方法中返回来终止线程。 例如: ```java public void run() { while (true) { // 执行业务 if (shouldStop) { break; } } } ``` JAVA 多线程中 interrupt() 和...
`interrupt` 方法是一种更为安全的终止线程的方法,它适用于两种情况: - **线程处于阻塞状态**:如线程调用了 `sleep()` 或 `wait()` 方法。当调用 `interrupt()` 时,这些阻塞方法会抛出 `InterruptedException`...
在Java编程中,正确且安全地终止线程是非常重要的,因为不当的操作可能会导致资源泄露、数据不一致性甚至系统崩溃等问题。本篇文章将详细探讨如何使用`interrupt()`方法安全地终止一个线程。 #### 一、为什么不能...
interrupt()和线程终止方式[整理].pdf
此外,Thread类还提供了interrupt()方法来发送中断请求,但这并不一定会立即停止线程,而是在线程检查中断状态(如在sleep(), wait(), join()等阻塞方法中)时抛出InterruptedException。 除了基本的线程操作,了解...
总的来说,推荐使用退出标志或`interrupt`方法来终止线程,因为它们更安全且允许线程完成必要的清理工作。避免使用`stop`方法,因为它可能导致程序的不稳定。在编写多线程程序时,确保线程的生命周期管理是健壮的,...
在Java中,终止线程的方法主要有三种:使用stop()方法、使用volatile标志位和使用interrupt()中断的方式。 使用stop()方法是Java早期版本中提供的一种终止线程的方法,但是由于该方法存在一些缺陷,例如可能会导致...
JAVA中终止线程的方法介绍 JAVA 中终止线程的方法是一种重要的多线程编程技术,在Java中,java.lang.Thread类型包含了一些列的方法start(), stop(), stop(Throwable) and suspend(), destroy()and resume()。通过...
### Java线程中断机制详解:`interrupt`与`stop`方法 ...相比之下,`stop`方法虽然可以直接终止线程,但由于其可能导致的问题,不推荐使用。在实际开发中,建议优先考虑使用`interrupt`方法来管理线程的中断。
- 当处理中断时,重要的是理解`interrupt()`方法仅设置中断标志,并不直接终止线程。因此,需要在适当的地方检查`isInterrupted()`状态,或者在可能抛出`InterruptedException`的方法中捕获异常,然后采取适当的...
在实际编程中,通常推荐使用`interrupt()`方法结合适当的检查机制来终止线程,这样可以确保线程在退出前能够完成必要的清理工作,避免资源泄露。同时,也可以使用`isInterrupted()`或`interrupted()`方法检查线程的...
因此,应该使用 interrupt() 方法来终止线程。 下面是一个使用退出标志终止线程的例子: ```java public class FlagExitThread extends Thread { public volatile Boolean isExit = false; public ...
以下是Java中推荐的三种安全终止线程的方法: 1. **线程正常执行完毕**:这是最自然的线程结束方式,即当`run()`方法执行完成时,线程会自动结束。但是,如果`run()`方法包含无限循环,例如`while(true)`,那么线程...
`Thread.interrupt()`方法是中断线程的主要手段,但它的行为并不像字面意义上那样直接终止线程。相反,它通过设置线程的中断状态来向线程发送一个中断信号,这个信号是一个内部标志,告知线程应该停止其当前的工作。...