没有合适的资源?快使用搜索试试~ 我知道了~
java线程中的interrupt,isInterrupt,interrupted方法
需积分: 50 1 下载量 58 浏览量
2013-08-18
22:55:19
上传
评论
收藏 30KB DOC 举报
温馨提示
试读
2页
java线程中的interrupt,isInterrupt,interrupted方法
资源推荐
资源详情
资源评论
java 线程中的 interrupt,isInterrupt,interrupted 方法
分类: Java 相关 2010-11-27 22:113825 人阅读评论(0)收藏 举报
java thread jdk class
在 java 的线程 Thread 类中有三个方法,比较容易混淆,在这里解释一下
(1)interrupt:置线程的中断状态
(2)isInterrupt:线程是否中断
(3)interrupted:返回线程的上次的中断状态,并清除中断状态
举个例子:
[java]view plain copy
1 用法:
2 class MyThread extends Thread {
3 ......
4 ......
5 public void run() {
6 try {
7 while(!Thread.currentThread().isInterrupted()) {
8 //当达到队列容量时,在这里会阻塞
9 //put 的内部会调用 LockSupport.park()这个是用来阻塞线程的方法
10 //当其他线程,调用此线程的 interrupt()方法时,会设置一个中断标志
11 //LockSupport.part()中检测到这个中断标志,会抛出 InterruptedException,并清
除线程的中断标志
12 //因此在异常段调用 Thread.currentThread().isInterrupted()返回为 false
13 ArrayBlockingQueue.put(somevalue);
14 }
15 } catch (InterruptedException e) {
16 //由于阻塞库函数,如:Object.wait,Thread.sleep 除了抛出异常外,还会清除线程中断
状态,因此可能在这里要保留线程的中断状态
17 Thread.currentThread().interrupt();
18 }
19 }
资源评论
雁峰
- 粉丝: 9
- 资源: 3
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功