0

我有一个 Eclipse rcp 应用程序,它有时可能同时运行多个作业。在某些情况下,其中一些作业可能需要暂停一段指定的时间。我注意到,虽然调用 Thread.sleep() 可以做到这一点,但它似乎也对其他工作产生了一些不利影响。当我尝试与 UI 交互时,我什至在应用程序的标题上出现(不响应)。我错误地认为每个作业实例都有自己的线程,但最近发现事实并非如此。在我的脑海中,我唯一能想到的就是在每次创建作业时显式创建一个 Thread 实例,然后通过 Job.setThread() 将前者设置为后者。对此事的任何反馈将不胜感激!感谢您的时间!

4

1 回答 1

1

我不建议直接攻击底层线程,因为管理线程池是 JobManager 的责任,并且 API 对此没有任何假设。

而是尝试使用以下 Job' 方法:

#boolean sleep()
#void wakeUp()
#void join()

文章“On the Job: The Eclipse Jobs API”也可能有所帮助: http: //www.eclipse.org/articles/Article-Concurrency/jobs-api.html

于 2012-06-01T09:04:48.500 回答