Eclipse RCP:检查作业是否完成 [英] Eclipse RCP: check if a job has finished
问题描述
I want to check if a Job has finished. Currently I do this:
if ( traceJob.getState() != Job.WAITING && traceJob.getState() != Job.RUNNING){
但是我认为应该有一个更好的检查方法.任何人都有什么好主意吗?
But I think there should be a better way to check. Anyone has any good idea ?
推荐答案
您可以使用 Job.addJobChangeListener
将侦听器添加到Job.作业完成后,将调用侦听器的 done
方法.有一个 JobChangeAdapter
类,该类具有所有 IJobChangeListener
方法的默认实现,因此您无需实现所有这些方法.
You can use Job.addJobChangeListener
to add a listener to a Job. The done
method of the listener is called when the job finishes. There is a JobChangeAdapter
class with default implementations of all the IJobChangeListener
methods so that you don't need to implement all of them.
您可以使用 Job.getJobManager().join(家庭,进度监视器)
等待作业完成.这要求您的Job覆盖 belongsTo
方法,以测试Job属于哪个家族.还有 Job.join()
等待特定的作业完成.
You can use Job.getJobManager().join(family, progress monitor)
to wait for a Job to finish. This requires your Job to override the belongsTo
method to test which family the Job belongs to. There is also Job.join()
to wait for a specific job to finish.
这篇关于Eclipse RCP:检查作业是否完成的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!