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

Привет, есть очень тупой вопрос - как правильно использовать await

внутри таски? Просто в StartNew мы передаем фактически async void, в котором плохо эксепшены выбрасываются

30 ответов

16 просмотров

Пишу логи внутри да и всё

Task.Run(new Func<Task>(async () => { Console.WriteLine(); }));

В чём фактическая разница вашего кода с Task.StartNew и без неё?

Mr. N
Task.Run(new Func<Task>(async () => { ...

а внутри у тебя снова async void?)

trane254- Автор вопроса
Dmitriy Bobrovskiy
В чём фактическая разница вашего кода с Task.Start...

Ну, если падает метод получения модели, то таска падает, но ее статус становится в RanToCompletion, а мне по хорошему бы получать Faulted, чтобы знать, что она навернулась

Mr. N
https://prnt.sc/10c0aai не

https://prnt.sc/10c0aug

trane254
Ну, если падает метод получения модели, то таска п...

Чую, тут лучшее решение было бы на базе какого-нибудь TaskCompletionSource. Но могу ошибаться. В любом случае передавать стоит сам асинхронный делегат для нивелирования кейсов с async void

trane254- Автор вопроса
Dmitriy Bobrovskiy
Чую, тут лучшее решение было бы на базе какого-ниб...

Под передачей асинхронного делегата вы имеете ввиду, что внутрянку таски перенести в отдельный Task-метод?

И да, LomgRunning разве не запрашивает себе сразу тред без возможности возврата в пул его?

trane254- Автор вопроса
Dmitriy Bobrovskiy
И да, LomgRunning разве не запрашивает себе сразу ...

Честно говоря не знаю, много раз слышал, что если требуется жирная операция вешать на нее LongRunning тк насколько мне известно она выдает отдельный поток, за остальное пока не шарю

Dmitriy Bobrovskiy
В чём фактическая разница вашего кода с Task.Start...

Все будет обрабатываться в пуле потоков, а не в основном потоке

Dmitriy Bobrovskiy
Блять. Дружище, поешь пироженку.

ел колбасу,этого достаточно😁

Mr. N
Все будет обрабатываться в пуле потоков, а не в ос...

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

Dmitriy Bobrovskiy
Проблема в том, что если тут гуя нет, то, блять, в...

Какая выделена, кто сказал что поток в пул не вернется

Mr. N
Какая выделена, кто сказал что поток в пул не верн...

Бля. С чего бы? Там всё в пуле потоков, все вызовы awaitable. После каждого вызова следующий вызов будет обработан в хуй пойми каком потоке.

Mr. N
Ну ладно немного гамно кодом пахнет.

Пиздец. Говнокод - это плодить таски на ровном месте и потом их ожидать.

trane254- Автор вопроса
Dmitriy Bobrovskiy
Пиздец. Говнокод - это плодить таски на ровном мес...

меня просто никто не бьет по рукам за такое

trane254
меня просто никто не бьет по рукам за такое

Никто не может узнать лучшего решения проблемы в твоём контексте кроме тебя, сильвербуллетов нет и всё так или иначе берут трейдоффы и решения

Dmitriy Bobrovskiy
Ну, есть бестпректисы и типикалерроры

Конечно, просто синдром самозванца у парня хотел подлечить В конце концов напишет ли он и заморочится зависит только от него

trane254- Автор вопроса
Egor Gusarenko
Конечно, просто синдром самозванца у парня хотел п...

Не, перечитывая этот чат он только в геометрической прогрессии растет))

trane254
Не, перечитывая этот чат он только в геометрическо...

У всех катастрофически разный пул знаний, поэтому в команде очень важно им делиться и учитывать мнения друг друга

trane254- Автор вопроса
Egor Gusarenko
У всех катастрофически разный пул знаний, поэтому ...

Команда к сожалению состоит из одного меня, спросить могу только тут. По крайней мере хороший материал накидывают

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

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

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
Карта сайта