|
0 / 0 / 0
Регистрация: 07.04.2015
Сообщений: 40
|
|||||||||||
Какие достоинства у async и await?07.03.2016, 15:25. Показов 5624. Ответов 22
Метки нет (Все метки)
Пытаюсь разобраться с данными ключевыми словами и уже голова идет кругом
![]() Посмотрел и видео много, и статей, но все равно не совсем ясно. Я понял, что это все разворачивается в автогенерируемый код с асинкстейт машиной, но зачем нам все это? Ведь это не упрощение никакое, о чем твердят в различных ресурсах, а наоборот.. Кликните здесь для просмотра всего текста
Да, метод OperationAsync теперь запускается асинхронно, но без async и await он бы тоже асинхронно запустился бы. Или нет? И с возвращаемыми значениями все удобно работает. Кликните здесь для просмотра всего текста
Если не сложно, пожалуйста, пару простых(чем проще, тем лучше) примеров где реально нужны эти async await, и где реально они упрощают нам жизнь. А то все говорят: "О наконец! Теперь без особых проблем элементарно можно создавать асинхронные методы, не то что раньше". Но по факту все равно все работает через таски.. Хочется тоже разделить радость с людьми Заранее спасибо!
0
|
|||||||||||
| 07.03.2016, 15:25 | |
|
Ответы с готовыми решениями:
22
async/await (._. ) Async/await |
|
17823 / 12973 / 3382
Регистрация: 17.09.2011
Сообщений: 21,261
|
|||
| 08.03.2016, 18:21 | |||
![]() Плюс из фразы "выполняется в отдельном потоке или не выполняется вообще" вовсе не следует, что когда метод будет все-таки выполняться, то выполняться он будет именно в отдельном потоке. Может выполниться и в том, который инициировал асинхронную операцию. Зависит от реализации метода. Если у вас в методе код можно логически разделить на несколько частей вида "что-то делаем" и "ждем", то метод можно разбить на несколько более мелких по ключевой фразе "ждем". В итоге рабочий поток занят выполнением только частей "что-то делаем", а частями "ждем" занимаются другие компоненты рантайма, такие как, например, IO Completion Ports. Опять же, посмотрите как реализована, например, асинхронная работа с классом Socket через методы BeginSend/EndSend, BeginReceive/EndReceive — там вы пишете только ту часть кода, которая относится к "что-то делаем", а часть "ждем" происходит за кадром и не загружает потоки. Для практики и лучшего понимания попробуйте реализовать простейший чятик на сокетах, используя эти старые методы. async/await — это упрощение именно той структуры, чтобы логически последовательная задача с возможными паузами выглядела в коде как один метод, а не была разбита на несколько мелких. Но при этом чтобы возможные паузы выполнялись "за кадром".
0
|
|||
|
Заблокирован
|
|
| 08.03.2016, 18:29 | |
|
0
|
|
| 08.03.2016, 18:32 | |
|
0
|
|
| 08.03.2016, 18:32 | |
|
Помогаю со студенческими работами здесь
23
Async await Работа с async await
Async await + zeromq Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
20. Мат мед. Абсентеизм как отдельный тип простоя
anaschu 29.05.2026
Апдейт модели: исправленные баги, абсентеизм и новые механизмы
Продолжаю развивать ранее описанную модель рабочего коллектива на AnyLogic. За последние несколько дней был проведён серьёзный. . .
|
19. здоровье, усталость и психотип работника влияют на производительность предприятия, и наоборот, производительность на здоровье, усталось и психотип
anaschu 28.05.2026
Дискретно-событийная модель рабочего коллектива на AnyLogic: здоровье, выгорание, психотипы и микростимуляция
Привет, коллеги. Хочу поделиться итогами нескольких недель работы над симуляционной. . .
|
"Прокси" для последовательного порта
Eddy_Em 28.05.2026
Эту штуку написал я достаточно давно. Но сейчас вот понадобилось настроить датчик грозы, но при этом не отключать его от "метеодемона". Соответственно, надо запустить этот "прокси": метеодемон будет. . .
|
Рефакторинг программы уравнивания.
Massaraksh7 26.05.2026
Пример по предыдущей записи в блоге. Но, надо заметить, что, во-первых, там оптимизация не только математики, но и работы с базой данных, и с графами, а во-вторых, это ещё не всё.
|
|
Использование TThread в Lazarus для математических вычислений.
Massaraksh7 25.05.2026
Производя рефакторинг своих программ на предмет ускорения их работы, обратил внимание на такой аспект, как сокращение времени матвычислений. Дело в том, что приходится работать с большими матрицами. . .
|
Модель здравосохранения 18. Чем здоровее работник, тем быстрее выгорает
anaschu 24.05.2026
Имитационная модель корпоративного здравоохранения: что показывает математика
Сегодня в модели рабочего коллектива на AnyLogic появились три новые механики — выгорание через накопленную усталость,. . .
|
Модель здравосохранения 17. Планы на выгорание
anaschu 23.05.2026
Вот конкретная схема реализации:
В классе Работник добавить:
накопленнаяУсталость — растёт каждый час работы, снижается в перерывы и болезни
коэффициентПрезентеизма — снижает продуктивность. . .
|
Изменение цветов в палитре gif файла aka фавикона
russiannick 23.05.2026
Изменение цветов в палитре gif файла, юзаемого как фавиконка в составе html-файла, помещенная в base64, средствами нативного Java Script, навеянное сном в майский день.
Для работы необходим браузер,. . .
|