Информация об изменениях

Сообщение Re[3]: В написании линейного кода, который прерывается сетью от 25.08.2025 17:58

Изменено 25.08.2025 18:08 bnk

Re[3]: В написании линейного кода, который прерывается сетью
Здравствуйте, Dair, Вы писали:

D>А в чём принципиальное отличие от async/await?


Я читал что оно есть, но похоже так толком и не понял в чем (не смогу "объяснить шестилетнему ребенку").

Насколько я понял, async/await — это частный случай короутин, который легко понять и использовать.
В случае async/await "вложенность" ожидания идет по вызовам. В случае ко-роутин вложенность может быть любая, или ее вообще может не быть.
То есть, насколько я, опять же, понимаю, это вообще может быть линейный код, без вызовов функций, с исполнением просто прыгающим из одного места в другое.

Найти статью показывающую "на пальцах" преимущество ко-роутин перед банальным async/await у меня не получилось.
Было бы интересно если бы кто пояснил в чем их крутость на простом примере (желательно без кода)
Re[3]: В написании линейного кода, который прерывается сетью
Здравствуйте, Dair, Вы писали:

D>А в чём принципиальное отличие от async/await?


Я читал что оно есть, но похоже так толком и не понял в чем (не смогу "объяснить шестилетнему ребенку").

Насколько я понял, async/await — это частный случай короутин, который легко понять и использовать.
В случае async/await "вложенность" ожидания идет по вызовам. В случае ко-роутин вложенность может быть любая, или ее вообще может не быть.
То есть, насколько я, опять же, понимаю, это вообще может быть линейный код, без вызовов функций, с исполнением просто прыгающим из одного места в другое.
Генераторы — это реверанс в сторону того что есть в других языках, т.е. через функции опять же, это не то.

Найти статью показывающую "на пальцах" преимущество ко-роутин перед банальным async/await у меня не получилось.
Было бы интересно если бы кто пояснил в чем их крутость на простом примере (желательно без кода)