Można zajrzeć do implementions Petri-netto, rachunek inspirowane ram jak Jacob maszyny wirtualne dla procesów takich jak PVM lub realizacji Statemachine jak SCXML choć ten ostatni czeka na państwa zmienia, a następnie robi coś, więc musisz zmienić sposób sterowania przepływem danych.
Jeśli chcesz zaimplementować to samodzielnie, musisz upewnić się, że zwrócisz kontrolę do kontrolera runtime, zamiast tylko wywoływać następny węzeł, ponieważ spowodowałoby to zniszczenie twojego stosu. Ten kontroler środowiska wykonawczego może także wstawić obiekt kontekstu do runnables działań i w ten sposób można współdzielić stan między czynnościami. Poniższy pseudo kod znajduje się poniżej:
interface Activity {
Activity run(SharedContext context);
}
class A implements Activity {
public Activity run(SharedContext context) {
doA(context);
return new B();
}
}
class B implements Activity {
public Activity run(SharedContext context) {
doB(context);
return new C();
}
}
// runtime controller
SharedContext context = new SharedContext();
Activity next = new A();
while (next != null) {
next = next.run(context);
}
Czy jesteś zmuszony użyć czegoś z tej strony wikipedii lub jesteś zainteresowany ogólnymi rozwiązaniami? –
Jestem zainteresowany ogólnym rozwiązaniem .. te na wiki to tylko przykład – seesee
czy możesz powiedzieć, jaki rodzaj przepływu pracy już masz? – Rakesh