Как запустить действие, зависящее от других 2 или более параллельных действий, чтобы закончить?


Я новичок в workflow foundation. Я пытаюсь создать консольное приложение .NET 4. Это можно разделить на несколько задач. Вот в чем суть задач.

    Немногие задачи независимы друг от друга и могут выполняться параллельно. Несколько задач порождают две или более новых задач.
  1. немногие задачи зависят от вывода других задач, которые выполняются параллельно и могут быть запущены только тогда, когда они закончатся или обеспечат необходимое вход. напр. Введите описание изображения здесь

Здесь

    Задачи 1, 2 и 3 независимы друг от друга. Таким образом можно бежать параллельно.
  1. Задание 4 по завершении порождает 5 и 6
  2. Задача 7 может быть запущена только тогда, когда задача 4 и 2 сделаны.

Хотя я могу написать свой собственный фреймворк, используя системные потоки и некоторые сообщения, чтобы сделать это выше, мне было интересно, смогу ли я использовать workflow foundation 4.

Я просмотрел несколько примеров по рабочему процессу, но я не смог понять, как запустить новый действие, когда это родительские действия, выполняющиеся параллельно, завершены.

Также, если вы знаете какой-либо другой способ решить вышеуказанную проблему, дайте мне знать.

1 2

1 ответ:

Обычно вы перемещаете эти зависимые задачи ниже действия Parralel, чтобы знать, что все зависимости удовлетворены.

Обновление: Начните с последовательности. Добавьте параллель с задачами 1 и 4 с одной стороны и 3 с другой. Ниже добавьте еще одну параллель с 3 ветвями, содержащими 5,6 и 7.

Это не совсем то же самое, хотя если Задача 2 занимает больше времени, чем задача 1 + 4.

[Анкуш]Итак, то, что вы предлагаете, похоже на это Введите описание изображения здесь