Job代表一个异步操作。
要执行的操作写在run方法里。

//定义一个Job
class AJob extends Job
{
 
public AJob()
 
{
  
super("Andy's Job");
 }


 
public IStatus run(IProgressMonitor monitor)
 
{
  System.out.println(
"This is Andy's Job");
  
return Status.OK_STATUS;
 }

}



schedule后,任务在平台线程等待队列中排队,等待调度执行。
调用方式1:

//异步调用
AJob job = new AJob();
job.schedule(); 
//唤起平台线程来调度这个Job

调用方式2:

//结束后再运行
AJob job = new AJob();
job.schedule();
 
// do some other things.
job.join();        //block,直到job完成或调用线程被中断
if(job.getResult().isOk())
{
 
//Job completed with success.
}

else
{
 
//Job did not complete successfully.
}


取消一个Job:
if(!job.cancel())
{
 job.join();
}
 //cancel可能不会立即成功,我们用join等待cancel操作完成。


版权所有 罗明
posted on 2005-10-06 15:26 罗明 阅读(925) 评论(0)  编辑  收藏 所属分类: Eclipse

只有注册用户登录后才能发表评论。


网站导航: