[英]How do I have 1 UI thread wait for another UI thread
我有两个UI线程。 我要确保第一个完成运行,然后再运行另一个。 我该怎么办? 非常感谢!
UIJob uiJob = new UIJob("settext1") {
public IStatus runInUIThread(IProgressMonitor ipm) {
webBrowser.setText(finalContent);
return Status.OK_STATUS;
}
};
uiJob.schedule();
UIJob uiJob2 = new UIJob("settext2") {
public IStatus runInUIThread(IProgressMonitor ipm) {
webBrowser.execute(executeMoreFunction);
return Status.OK_STATUS;
}
};
uiJob2.schedule();
schedule
之后调用join
方法。
等待直到该作业完成。 该方法将阻塞调用线程,直到作业完成执行或该线程被中断为止。 如果尚未安排作业,则此方法将立即返回。 不得在作业的运行方法范围内加入作业。 如果在从run方法内部重新计划自身的作业上调用了此方法,则联接将在第一次执行结束时返回。 换句话说,join将在此作业第一次退出RUNNING状态时返回,或者在此作业进入NONE状态时立即返回。 如果在作业管理器挂起时调用此方法,则仅在该作业已经运行时才加入该作业; 如果此作业正在等待或睡眠,则此方法立即返回。 请注意,使用联接时存在死锁风险。 如果调用线程拥有联接线程正在等待的锁或对象监视器,则会发生死锁。
了解更多: http : //kickjava.com/src/org/eclipse/core/runtime/jobs/Job.java.htm#ixzz0qWh6Ahhe
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.