一个实现线程 暂停,继续,停止的抽象类

现在的JDK中 Thread 类的 stop(), resume(), suspend() 等方式是过时的了,那么如何在实现 线程的 停止,暂停,继续呢?下面是我写的一个代码,供大家参考。
欢迎交流!
package a;

public abstract class MyThread extends Thread{

private int flag=0;// 1 继续运行,2 暂停 ,3 停止
private Object o;

public MyThread(){
o=new Object();
}


abstract public void work(); //需要子类实现的方法,类似 run()

public void run(){
flag=1;
while(flag==1){
try{
work();
}cahct(Exception e){//这样做可以让线程不会因为 work()的异常而停止
e.printStackTrace();
}
//可以加些sleep()等让线程自动放弃CPU资源
while(flag==2){
synchronized(o){
try{
o.wait();
}catch(Exception e){}

}
}
}
System.out.println("--stoped-------");
}

public void stop_t(){ //停止
flag=3;
}

public void pause(){
flag=2;
}


public void jixu(){
flag=1;
synchronized(o){
try{
o.notify();
}catch(Exception e){}
}
}
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值