Eclipse RCP:检查作业是否已完成

2c0*_*00L 1 java eclipse user-interface multithreading eclipse-rcp

我想检查一下Job是否已经完成.目前我这样做:

 if ( traceJob.getState() != Job.WAITING && traceJob.getState() != Job.RUNNING){
Run Code Online (Sandbox Code Playgroud)

但我认为应该有更好的方法来检查.有人有什么好主意吗?

gre*_*449 6

您可以使用Job.addJobChangeListener向作业添加侦听器.done在作业完成时调用侦听器的方法.有一个JobChangeAdapter类具有所有IJobChangeListener方法的默认实现,因此您不需要实现所有方法.

您可以使用Job.getJobManager().join(family, progress monitor)等待作业完成.这要求您的Job覆盖belongsTo方法以测试Job所属的族.还有Job.join()等待特定工作完成.