Java中断一个线程操作示例
本文实例讲述了Java中断一个线程操作。分享给大家供大家参考,具体如下:
一 点睛
中断一个线程,意味着该线程在完成任务之前,停止它正在进行的一切当前的操作。
有三个比较常用的函数:
interrupt():一个正在运行的A线程,可以调用B线程对应的interrupt方法来中断线程B。这个方法的核心功能是,将线程B的中断标识位属性设置为true。
isInterrupted():通过该方法判断某个线程是否处于中断状态。
interrupted():这是一个静态方法,用来获取当前线程的中断状态,并清除中断状态。获取的是清除之前的值,也就是说连续两次调用此方法,第二次一定会返回false。
二 代码
public class SleepInterrupt implements Runnable
{
public void run()
{
try
{
System.out.println( "在run()方法中 ——这个线程休眠10秒" );
Thread.sleep( 10000 );
System.out.println( "在run()方法中 —— 继续运行" );
}
catch( InterruptedException x )
{
System.out.println( "在run()方法中 - 中断线程" );
return;
}
System.out.println( "在run()方法中 - 休眠之后继续完成" );
System.out.println( "在run()方法中 - 正常退出" );
}
public static void main( String[] args )
{
SleepInterrupt si = new SleepInterrupt();
Thread newThd = new Thread( si );
newThd.start();
// 在此休眠是为确保线程能运行一会
try
{
System.out.println( "在main()方法中——休眠2秒!" );
Thread.sleep( 2000 );
}
catch( InterruptedException e )
{
e.printStackTrace();
}
System.out.println( "在main()方法中——中断newThd 线程" );
newThd .interrupt();
System.out.println( "在main()方法中 ——退出" );
}
}
三 运行
在main()方法中——休眠2秒!
在run()方法中 ——这个线程休眠10秒
在main()方法中——中断newThd 线程
在run()方法中 - 中断线程
在main()方法中 ——退出
四 说明
interrupt()方法并不会使正在执行的线程停止执行,它只对wait、join、sleep等方法或由于I/O操作等原因受阻的线程产生影响,使其退出暂停执行的状态。
它对正在运行的线程不起作用。
更多java相关内容感兴趣的读者可查看本站专题:《Java进程与线程操作技巧总结》、《Java数据结构与算法教程》、《Java操作DOM节点技巧总结》、《Java文件与目录操作技巧汇总》和《Java缓存操作技巧汇总》
希望本文所述对大家java程序设计有所帮助。
相关文章
SpringBoot启动流程之引导上下文DefaultBootstrapContext的过程
本文详细介绍了SpringBoot版本2.7.18中SpringApplication的run方法,引导注册组件初始化器BootstrapRegistryInitializer是SpringBoot的第一个扩展点,负责应用启动早期阶段的初始化和配置,感兴趣的朋友跟随小编一起看看吧2024-11-11
MyBatis-Plus联表查询(Mybatis-Plus-Join)的功能实现
mybatis-plus作为mybatis的增强工具,简化了开发中的数据库操作,这篇文章主要介绍了MyBatis-Plus联表查询(Mybatis-Plus-Join),需要的朋友可以参考下2022-08-08
去掉 IDEA 中 mybatis配置文件的局部背景颜色(图解)
这篇文章通过图文并茂的形式给大家介绍了去掉IntelliJ IDEA 中 mybatis配置文件的局部背景颜色及mybatis 对应的 xml 文件警告的方法图解,需要的朋友可以参考下2018-09-09
java序列化与ObjectOutputStream和ObjectInputStream的实例详解
这篇文章主要介绍了java序列化与ObjectOutputStream和ObjectInputStream的实例详解的相关资料,希望通过本文能帮助到大家,需要的朋友可以参考下2017-09-09


最新评论