Uruchamianie zadania równolegle z innym zadaniem
Mam następująceFoo
klasa, która używaFooProcessor
klasa. Więc co chcę zrobić, to podczas uruchamiania metody przetwarzania instancji cp1 równolegle chcę uruchomićcp2.process()
.
public class Foo {
public static void main(String [] args){
FooProcessor cp1 = new FooProcessor();
FooProcessor cp2 = new FooProcessor();
cp1.process();
// in parallel process cp2.process();
}
}
public class FooProcessor {
public void process(){
System.out.println("Processing..");
}
}
Jednak chcę cp1 sekwencyjnie, więc chcę, aby uruchomił się i zakończył, jeśli cp2 się nie zakończy lub nie powiedzie się, to dobrze. Jeśli to się nie uda, chcę dołączyć do wyników. Nie zwraca niczego w tym przykładzie, ale chcę zwrócić wynik.
W tym celu należy użyć TaskExecutor? lub wątek?
Chcę, aby tylko cp2 działał równolegle do cp1. lub jeśli dodam więcej, powiedzmy cp3, chcę, aby działało ono równolegle do cp1.