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

问题描述:

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

A Job或多或少的包装Thread和所有启动(计划)的作业实例并行运行。

建议进一步阅读:

+0

我想从同一个作业类运行多任务实例。 – Selva

使用线程在同时运行多个作业。

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

no.I要使用Eclipse作业。请帮助我如何使用eclipse job.for多个工作。 – Selva

+0

好的检查以下两个链接...他们应该给你一些帮助 –

+0

http://www.eclipse.org/articles/Article-Concurrency/jobs-api.html http://help.eclipse.org/赫利俄斯/ index.jsp的?主题=/org.eclipse.platform.doc。ISV /参考/ API /组织/蚀/核心/运行/作业/ Job.html –

Eclipse RCP: Only one Job runs at a time?

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

几年后,你现在有相反的问题,这是限制并行作业的数量。
这就是为什么Eclipse 4.5M4现在将包含(2014年第4季度)一种支持具有限制的作业组的方式。

bug 432049

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

Eclipse目前支持作业系列的概念,它提供了一种分组方式,支持全家人的加入,取消,休眠和唤醒操作。

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

你可以看到实施this commit 26471fa