Пожалуйста, знайте, что я знаю, что Parallel.Invoke() предназначен для синхронизации задач. Мой вопрос таков:Parallel.Invoke(), не дожидаясь завершения выполнения
Есть ли способ вызвать анонимный метод, используя что-то вроде Parallel.Invoke, в котором вызов НЕ ждет завершения выполнения?
Я думал, что вся точка параллельного выполнения (или параллельного вызова) НЕ должна ждать завершения задачи. Если вы хотите дождаться завершения фрагмента кода, вместо использования Parallel.Invoke, почему бы просто не вызвать код напрямую? Наверное, я просто не понимаю, что такое Параллель. Документация просто говорит , что и, но не упоминает каких-либо прецедентов, когда это было бы более полезно, чем просто вызвать код напрямую.
Ты прав, я был под впечатлением, что выполнение параллельно одно и то же как выполняется в фоновом режиме. Можете ли вы рассказать мне, какая разница и как это относится к Parallel.Invoke? Или укажите мне ресурс, который может помочь мне понять разницу? – Anshul
@Anshul: Выполнение параллельно - это просто использование нескольких ядер для достижения цели. Это * может быть сделано в режиме «огонь и забухание», но это не всегда. См. Мое редактирование для конкретного примера, когда полезно распараллелить работу, не делая ее фоновой задачей. –
Если у меня есть 2 Parallel.Invokes в sequeunce, не будет ли второй ждать, пока первый из них не будет вызван? В этом случае, как бы вы выполняли несколько фрагментов кода параллельно с помощью Parallel.Invoke? – Anshul