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

Добрый вечер! обращаюсь к async методу ( var smth...) прохожу дебаггером

-> успешно заканчивает метод CommitAsync()
на выходе из этого метода дебаг прерывается
прога зависает
жду жду (примерно 10 минут попробовал подождать) на MessageBox.Show() не перешла
какие предложения?
это какой то deadlock?
как он возникает тогда?

12 ответов

24 просмотра

а что CommitAsync() возвращает вообще?

.Result на асинхронном методе, и вправда, где же дедлок? 🤔

Сергей
.Result на асинхронном методе, и вправда, где же д...

а с чего ему там быть? ну если таск горячий кншн

Сергей
.Result на асинхронном методе, и вправда, где же д...

это для таски Result а в MessageBox е Result это основное значение возращаемой модельки

Сергей
.Result на асинхронном методе, и вправда, где же д...

это типо наводка? вместо Result что то другое должно быть ?

А почему его не должно быть? И таски в шарпе почти всегда горячие

Phantom
А почему его не должно быть? И таски в шарпе почти...

сам по себе .Result не может такую ситуацию взывать же. должны быть дополнительные причины🤔

samurai
сам по себе .Result не может такую ситуацию взыват...

Никто не знает что там внутри этого асинхронного метода

Сергей
Никто не знает что там внутри этого асинхронного м...

вот и дополнительная причина собственно

а есть пример, где таска, которая ничего не делает (sleep(1) например) дедлокнет только из-за того, что юзнули .Result?

samurai
а есть пример, где таска, которая ничего не делает...

https://blog.stephencleary.com/2012/07/dont-block-on-async-code.html

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

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

Всем привет! Имеется функция: function IsValidChar(ch: UTF8Char): Boolean; var i: Integer; ValidChars: AnsiString; begin ValidChars := 'abcdefghijklmnopqrstuvwxyzABCDE...
Евгений
44
#include <stdio.h> #include <stdlib.h> #include <time.h> void mass_first_generate(int mass[5][7]) {     for (int N = 0; N < 5; N++) {         for (int A = 0; A < 7; A++) {   ...
Чувак
6
Всем привет! Решаю 99 OCaml Problems и столкнулся со следующей проблемой (прошу палками не забивать, я OCaml практически не трогал до этого момента): open OUnit2 let create_...
К|/|pи/\/\ 6е3yглbIи
2
https://www.linkedin.com/posts/ugama-benedicta-kelechi-codergirl-103041300_mobiledevelopment-fluttertraining-handsonlearning-activity-7263445699227254784-IdHB?utm_source=share...
CoderGirl
16
возможно ли как-то передать в электрон или таури медиа поток с рендера 2д движка? двиг запускается как dll, а дальше надо как-то отправлять рендер кодировать не подходит, зр...
Kyle Nekto
7
Ну вот просто даже давайте вот как. Какой нибудь конкретный кейс, можете в пример привести, где бч работает и приносит прикладную пользу, а не просто что бы было? Не крипту.
Alexander Andreev
22
Помогите пожалуйста. Делаю систему плагинов. Проблема сейчас в такая: плагины загружаются в основном потоке. FLibHandle := SafeLoadLibrary(FFileName) Но нужно еще выполнить фу...
Илья 🤣
10
Точно, оно. У тебя там имена потоков выставляются?
Александр (Rouse_) Багель
9
объясните пожалуйста, почему функция не работает должным образом? вроде должно брать активное окно сравнивать его размер с размером экрана, и если есть совпадение = true прове...
JF
12
лучше скажите, причём тут паскаль?
Alexey Kulakov
36
Карта сайта