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

Прошу помощи В этой статье написано след: "Если await task.ConfigureAwait(false) включает

задачу, которая уже выполнена к моменту ожидания (что на самом деле происходит довольно часто), тогда использование ConfigureAwait(false) будет бессмысленным"

А в каком случае таска не успеет выполнится (при конструкции async/await) и что, в принципе, будет?

7 ответов

13 просмотров

ну самое очевидно это ссылка на нулл

Тут речь про то, что есть вероятность, что асинхронная операция будет выполнена в новом контексте. В свою очередь ConfigureAwait(false) гарантирует, что задача выполнится в том же контексте. И часто бывает, что асинхронная операция просто выполняется синхронно и поэтому гарантировать сохранение контекста бессмысленно.

Hi- Автор вопроса
Mikhail
Тут речь про то, что есть вероятность, что асинхро...

Разве если я пишу await FooAsync() то я автоматом не сохраняю контекст (Эквивалент configureAwait(true))? ConfigureAwait(false), вроде как, говорит, что "мне пофиг на контекст и его не нужно сохранить". Не?

Hi
Разве если я пишу await FooAsync() то я автоматом ...

await разве что инкапсулирует https://docs.microsoft.com/en-us/dotnet/api/system.threading.tasks.task.getawaiter?view=net-5.0

Hi
Разве если я пишу await FooAsync() то я автоматом ...

Я уже сам запутался. Ещё раз перечитал. Вроде ты прав

Вообще есть полная статья от Тоуба, по ней вопросов не должно возникнуть https://devblogs.microsoft.com/dotnet/configureawait-faq/

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

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

30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
Как передать управляющий символ в открытую через CreateProcess консоль? Собсна, есть процедура: procedure TRedirectThread.WriteData(Data: OEMString); var Written: Cardinal;...
Serjone
6
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Всем привет! Имеется функция: function IsValidChar(ch: UTF8Char): Boolean; var i: Integer; ValidChars: AnsiString; begin ValidChars := 'abcdefghijklmnopqrstuvwxyzABCDE...
Евгений
44
Карта сайта