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

Всем привет, решил углубиться в понимании асинхронности в .Net. Сформулировал следующие

выводы:
На сколько я понял, асинхронный код позволяет распределить нагрузку между потоками таким образом, чтобы не тормозить main thread.
Если у нас есть метод, который вытягивает большое кол-во данных, то в синхронном варианте его работы будет занят main thread и соответственно вся остальная часть приложения будет "стоять".
Если же этот метод сделать асинхронным, то выделится worker thread, на который будет переключаться главный время от времени, подгружая данные порционно.

Подскажите пожалуйста на сколько они корректные и есть ли них ошибки?
Заранее спасибо!

5 ответов

17 просмотров

Все не правильно. Асинхронность может быть и в одном потоке, при синхронной работе блокируется поток, который делает эту работу, а не обязательно main thread

Igor-Karpekin Автор вопроса
Igor-Karpekin Автор вопроса
Phantom
Все не правильно. Асинхронность может быть и в од...

в книге албахари первый пример с запуском треда и схемой показывает, что создается worker thread для работы функции, которую в thread закинули

Igor Karpekin
в книге албахари первый пример с запуском треда и ...

Асинхронности можно добиться многими способами

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

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

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
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
Как передать управляющий символ в открытую через CreateProcess консоль? Собсна, есть процедура: procedure TRedirectThread.WriteData(Data: OEMString); var Written: Cardinal;...
Serjone
6
Всем привет! Имеется функция: function IsValidChar(ch: UTF8Char): Boolean; var i: Integer; ValidChars: AnsiString; begin ValidChars := 'abcdefghijklmnopqrstuvwxyzABCDE...
Евгений
44
Карта сайта