Задача C #. После возвращения всех задач? [Дубликат]

Это может сработать для вас (GNU sed):

sed -n ':a;/regexp/{n;h;p;x;ba}' file

Использовать seds grep-like option -n, и если текущая строка содержит требуемое regexp, замените текущую строку следующим, скопируйте эту строку в пространство удержания (HS), распечатать линию, поменять пространство шаблона (PS) для HS и повторить.

4
задан Piedone 17 November 2012 в 17:34
поделиться

1 ответ

Task.WhenAll немедленно возвращает новый Task , он не блокируется. Возвращенная задача будет завершена, когда все задачи, переданные в WhenAll, будут завершены.

Это асинхронный эквивалент Task.WaitAll , и этот метод используется, если вы хотите для блокировки.

Однако у вас есть другая проблема. Использование Task.Factory.StartNew и передача делегата async, по-видимому, приводит к типу Task<Task>, где внешняя задача завершается, когда внутренняя задача начинает выполняться (а не после ее завершения).

Использование нового Task.Run позволяет избежать этого.

18
ответ дан Richard 21 August 2018 в 07:05
поделиться
Другие вопросы по тегам:

Похожие вопросы: