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

Я новичок в фундаменте рабочего процесса.Я пытаюсь создать консольное приложение .NET 4.Это можно разделить на ряд задач.Вот природа задач.

  1. Несколько задач не зависят друг от друга и могут выполняться параллельно.
  2. Несколько задач порождают две или более новых задач.
  3. Немногие задачи зависят от вывода других задач, которые выполняются параллельно и могут быть запущены только после их завершения или предоставления необходимого ввода.например, enter image description here

Здесь

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

В то время как я могу написать свой собственный каркас с использованием системных потоков и некоторого обмена сообщениями, описанными выше, мне было интересно, могу ли я использовать основу рабочего процесса 4.

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

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

1 Ответ

2 голосов
/ 21 июня 2011

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

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

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

[Анкуш] Так что вы предлагаете, вот так enter image description here

...