安卓线程中断interrupted()和isInterrupted()--控制程序

现在的jdk版本三个方法完成对线程中断的支持。

public boolean isInterrupted()

public void interrupt()

public static boolean interrupted() 

每个线程都一个状态位用于标识当前线程对象是否是中断状态。isInterrupted是一个实例方法,主要用于判断当前线程对象的中断标志位是否被标记了,如果被标记了则返回true,否则返回false。

我们写一个线程
在这里插入图片描述

在MainActivity运行
在这里插入图片描述
运行结果如下:
在这里插入图片描述
疯狂执行,那我们怎么停下这个线程。是不是用interrupted()方法就可以,答案是否定的
不能中断这个线程,这个方法只能给这个线程设置一个中断标志。我们看一下
在这里插入图片描述

线程中断状态开始为false,当调用 interrupted() ,线程状态变为 true,但是线程却任然执行。
那么这个状态有什么意义。 其实,当线程中断标志状态来控制,下面把我们的程序改一下,就可以用interrupted()来中断程序了。
在这里插入图片描述
主线程代码不变
在这里插入图片描述
线程停止。所以这个中断就是为了增加我们程序的灵活性,是有用途的。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值