Ich versuche mehrere Jobs auf meinem Java-Code auszuführen. Sie verwenden den IProgressMonitor, um den Fortschrittsbalken zu aktualisieren.Mehrere Jobs mit Fortschrittsmonitor ausführen
Job job = new Job("My first job") {
@Override
protected IStatus run(IProgressMonitor monitor) {
monitor.beginTask("start task", 100);
//long running Hibernate save operation
monitor.done();
return Status.OK_STATUS;
}
};
job.setUser(false);
job.schedule();
Ich fahre dann fort, einen zweiten Job in einer anderen Klasse auf die gleiche Weise auszuführen. Also wird der zweite Job nur warten bis der erste fertig ist. Gibt es eine Möglichkeit, entweder zwei gleichzeitig laufen zu lassen oder die erste zu pausieren, damit die zweite laufen kann? Wenn nicht, gibt es eine Möglichkeit, den Fortschrittsmonitor in einem Thread statt in einem Job auszuführen? Ich habe versucht, meine Klassen runnable und setzen die Jobs in der Laufmethode, aber das hat das gleiche Ergebnis. Danke.
Ich weiß nicht, was ist das Standardverhalten, wenn keine ShedulingRule festgelegt ist. Sie könnten versuchen, eine Sheduling-Regel zu setzen, die niemals in Konflikt steht. Wie: job.setRule (neues IST SchedulingRule() {..}); –