Описание проблемы:
существует n задач
, и в этих задачах одна может зависеть от других
, что означает если A зависит от B, то B должно быть завершено до того, как A завершит работу.
1. найти способ выполнить эти задачи как можно быстрее?
2. если принять во внимание параллелизм
, как разработать программу для выполнения этих задач?
Вопрос:
По-видимому, ответ на первый вопрос состоит в том, топологически отсортируйте эти задачи, а затем завершите их в указанном порядке.
Но как выполнить эту работу, если учитывать параллелизм?
Мой ответ заключался в следующем: сначала топологически отсортируйте эти задачи, затем выберите те, которые являются независимыми, и сначала завершите их, а затем выберите и завершите те независимые задачи в отдых ...
Я прав?