170 похожих чатов

Await SomeTask(); Можно ли как-то запустить другой таск, если SomeTask выполняется

дольше секунды?

16 ответов

4 просмотра

var delayTask = Task.Delay(TimeSpan.FromSeconds(1)); var workTask = SomeTask(); var completedTask = await Task.WhenAny(delayTask, workTask); if (completedTask == delayTask) { // SomeTask выполняется дольше одной секунды. Запустите другой таск или выполните какое-либо действие. AnotherTask(); // Например, запуск другого таска } else { // SomeTask завершился раньше, чем через одну секунду. }

Аман- Автор вопроса
Magomed Mirzaev
var delayTask = Task.Delay(TimeSpan.FromSeconds(1)...

WhenAny в любом случае выполнит workTask?

Аман
WhenAny в любом случае выполнит workTask?

Нет, только одно из них которое раньше выполнится

Аман- Автор вопроса

Это плохо. SomeTask должен выполниться

Аман- Автор вопроса
Аман
Это плохо. SomeTask должен выполниться

SomeTask потом должен продолжить выполнение, WhenAny его не прерывает

Ладно, не так понял вопрос. WhenAny создаст таску которая запустит другие таски и завершится тогда когда завершится какая-то из них

Аман- Автор вопроса
Magomed Mirzaev
Ладно, не так понял вопрос. WhenAny создаст таску ...

Все таки ты не прав, CallAPI не происходит

Аман
screenshot Так понятнее

У тебя программа прерывается после выполнения Console.WriteLine в else. Добавь после него ожидание

Аман
WhenAny в любом случае выполнит workTask?

WhenAny ничего не выполняет, оно ждет завершения

Аман- Автор вопроса
Phantom
WhenAny ничего не выполняет, оно ждет завершения

Понял, я просто боялся что он прерывает все таски кроме первого

Аман
Все таки ты не прав, CallAPI не происходит

У тебя программа завершилась

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

Обсуждают сегодня

читать файл максимально быстро? странный вопрос))
zamtmn
50
всем привет! углубившись в плюсы и начав изучать реверсинг понял, что без асм'а никуда со своими высокоабстрактными представлениями начал изучать механизмы асма, и не совсем п...
9
буквально один оставшийся вопрос при выполнении строчки mov eax, 5 операнд "5" будет присутствовать где-либо в памяти (любой), кроме как в памяти блока .code? подвопрос: как...
12
Всем ку. Подскажите, если задекларировал массив так: int arr[10] = {1, 2, 3, 4}, то в arr[4] будет мусор или нуль?
Sasha K
14
я не понимаю mov [r11+8],rcx и прочие. мы записываем значение из rcx, куда?
Bor
15
у меня такой вопрос про память в x86 возник, может кто пояснить?.. у процессора есть (как минимум) 3 типа адресов (названия "п1", "п2", "п3" --- мои, чтобы проще было дальше)...
Toideng
5
а зачем этот вопрос для удаления из чата?
Mёdkinson Medvezhkin
63
А какие расширения активно используются в промышленности? Именно идейные, по типу гадт, а не всякие оверлоадедстрингс
Степан
11
у процессора есть (как минимум) 3 типа адресов (названия "п1", "п2", "п3" --- мои, чтобы проще было дальше): - "п1" --- виртуальный адрес, то есть тот, который ресолвится в "п...
Toideng
3
Guys Who’s kurdish on this group?
Hiwa Amiri
11
Карта сайта