Re: Зачем нам асинхронность?
От: Ikemefula Беларусь http://blogs.rsdn.org/ikemefula
Дата: 05.08.20 11:54
Оценка:
Здравствуйте, Kolesiki, Вы писали:

K>Но вот async?...

K>Пусть это будет команда Save. Мы нажали, асинхронно вышли из метода, куда-то даже полезли нажимать другие команды, а save всё ещё работает! Хуже того — у неё могут возникнуть проблемы!
K>Ну и вот какой смысл "не ждать завершения команды", если всё равно тебе прилетит по лбу? Хуже того — ты понадеялся на УСПЕШНЫЙ сэйв, а документ уже испортил!
...
K>Мне опыт говорит, что это всё переоценённое фуфло. Но если у вас есть прям идеальные случаи под async, не поленитесь, черкните ваш случай!

async/await это не для асинхронных методов, а для языковой поддержки многозадачности.
В результате вместо кучи приседаний с воркерами, потоками и прочей низкоуровневой болтовнёй получаешь нечто навроде
run(async (model) => model.burnDown(await model.from(url)));

Надо — жди. Не надо — не жди. Зато незачем городить огород из воркеров, передавать им параметры в очередь и заниматься прочими глупостями.
Фактически при помощи этих примитивов очень легко вытеснить тяжелый процессинг в другой вычислитель.

Скажем, при некоторых параметрах(консольное исполнение) выполняем и ждем по месту, а при других параметрах(ui, сервер и тд) — вытесняем куда угодно, абы не мешало. Код от этого меняться не должен.
Отредактировано 05.08.2020 11:57 Pauel . Предыдущая версия .
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.