您的位置:首页 > 职场人生

黑马程序员——Thread.interrupt()清除线程冻结状态

2012-08-27 15:41 183 查看
               ----------------------    android培训    java培训  
期待与您交流!    ----------------------   
                          

package thread;
/**
* 调用Thread.interrupt();进行强制清除冻结的线程
* 并可以控制标志位停止线程
* @author zjw
*
*/
public class Interrupted {
public static void main(String[] args) {
Inter_class in=new Inter_class();
Thread t=new Thread(in);
Thread t1=new Thread(in);

t.start();
t1.start();

for (int i = 0; i <100; i++) {
System.out.println(Thread.currentThread().getName()+"......"+i);
if(i==99){
t.interrupt();//调用Thread.interrupt();
t1.interrupt();//调用Thread.interrupt();
}
}

}
}
class Inter_class implements Runnable{
private int num;
private boolean boo=true;
public synchronized void run(){//加关键字
while(boo){
try{
wait();//该省略了this.    进入冻结状态
}catch(InterruptedException e){
boo=false;//控制标志位,停止线程
System.out.println("抛出Innterrupted异常");
}
System.out.println(Thread.currentThread().getName()+"--------"+num++);
}

}
public int getNum() {
return num;
}
public void setNum(int num) {
this.num = num;
}
public boolean isBoo() {
return boo;
}
public void setBoo(boolean boo) {
this.boo = boo;
}

}

               ----------------------    android培训    java培训  
期待与您交流!    ----------------------   
                         详细请查看      http://edu.csdn.net/heima
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  thread class string