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