如何在RCP中同时运行多个作业?

时间:2011-09-01 08:52:40

标签: java eclipse-plugin eclipse-rcp rcp

我想知道如何一次在Eclipse中执行多个作业。我想在RCP中同时运行多个作业。

4 个答案:

答案 0 :(得分:2)

Job或多或少包裹Thread并且所有已启动(计划)的作业实例并行运行。

建议进一步阅读:

答案 1 :(得分:0)

使用线程一次运行多个作业。

Thread th = new Thread() {
     public void run() {
         //Here is a thread that you can use wherever you want in your code
     }
};
th.start();

答案 2 :(得分:0)

请参阅Eclipse RCP: Only one Job runs at a time?

  

通过返回结果状态ASYNC_FINISH,作业可以选择异步完成(在另一个线程中)执行。异步完成的作业必须通过调用setThread来指定执行线程,并且必须通过调用方法完成来指示它们何时完成。

答案 3 :(得分:0)

几年后,您现在遇到了相反的问题,即限制并发作业的数量 这就是为什么Eclipse 4.5M4现在将包括一种支持具有限制的作业组的方法(2014年第四季度)。

请参阅bug 432049

  

Eclipse提供了一个简单的Jobs API,以并行和异步方式执行不同的任务。 Eclipse Jobs的一个限制是没有简单的方法来限制用于执行作业的工作线程数   当快速连续安排许多作业时,这可能会导致线程池爆炸。由于它很容易使用Jobs来并行执行不同的无关任务,但很难实现数千个Jobs合作完成单个大任务。

     

Eclipse目前支持Job Families的概念,它提供了一种分组方式,支持整个系列的join,cancel,sleep和wakeup操作。

     

为了解决所有这些问题,我们建议一种简单的方法来对一组负责同一大任务的Eclipse作业进行分组。
  API将支持组中所有作业的限制,加入,取消,组合进度和错误报告,并且作业分组功能可用于重写性能关键算法以使用协作作业的并行执行。

您可以在this commit 26471fa

中查看实施情况