浏览 4249 次
锁定老帖子 主题:一个实现线程 暂停,继续,停止的抽象类
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2007-12-11
欢迎交流! 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){} } } } 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |