Size: a a a

2020 April 08

r

red75prime in rust_offtopic
"Синхронная процедура, дружественная по отношению к асинхронным фреймворкам" ничем не лучше чем "асинхронная процедура". Зачем тащить внутренности процедуры в определение асинхронности?
источник

P

Pavel in rust_offtopic
red75prime
Нет. Это значит только наличие зависимости по данным. Такая процедура может быть как синхронной, так и асинхронной. Синхронная не позволяет выполнять никакой другой работы в том-же потоке, асинхронная - позволяет.
нет, это детали реализации, а если без деталей, то асинхронная функция плодит работу и выполняет её независимо до того момента, как понадобится результат. Если она плодит работу и сразу же ждёт результат — она синхронная. Никаких других задач, кроме тех, что выполняет функция и тот, кто её вызывает — нет(они не играют роли в этом вопросе). Если вызывающий может продолжать работу до того, как функция вернёт результат полезной работы — функция асинхронная, если он может, но ему нечего делать и он сразу же её ждёт — он синхронно вызывает асинхронную функцию.
источник

P

Pavel in rust_offtopic
вот эти все Future, Task — это просто клей
источник

r

red75prime in rust_offtopic
Pavel
нет, это детали реализации, а если без деталей, то асинхронная функция плодит работу и выполняет её независимо до того момента, как понадобится результат. Если она плодит работу и сразу же ждёт результат — она синхронная. Никаких других задач, кроме тех, что выполняет функция и тот, кто её вызывает — нет(они не играют роли в этом вопросе). Если вызывающий может продолжать работу до того, как функция вернёт результат полезной работы — функция асинхронная, если он может, но ему нечего делать и он сразу же её ждёт — он синхронно вызывает асинхронную функцию.
Какие ещё детали реализации? Асинхронную функцию невозможно запустить на выполнение без рантайма.
источник

P

Pavel in rust_offtopic
red75prime
Какие ещё детали реализации? Асинхронную функцию невозможно запустить на выполнение без рантайма.
какой рантайм у процессора и прерываний?
источник

P

Pavel in rust_offtopic
прерывание синхронизирует операцию получения пейлоада, но запрос на прерывание не останавливает выполнение
источник

r

red75prime in rust_offtopic
То есть теперь вообще всё асинхронное?
источник

P

Pavel in rust_offtopic
red75prime
То есть теперь вообще всё асинхронное?
да, вообще всё асинхронное, но зависимость по данным и по всяким деталям языков/рантаймов делает это синхронным. Даже две инструкции подряд в обычном коде без какого-либо асинк-фреймворка могут быть асинхронными, если этого никто не видит (реордеринг), вот только добавляя лишнюю зависимость по данным ты его синхронизируешь и независимые потенциально асинхронные операции могут становиться зависимымии, соответственно, синхронными.
источник

r

red75prime in rust_offtopic
"Давайте назовём зависимость по данным синхронностью, а всё остальное как придётся, вместо того, чтобы признать, что можно использовать понятие асинхронности в конкретном смысле в контексте кооперативной многозадачности"  Нет, спасибо
источник

P

Pavel in rust_offtopic
red75prime
"Давайте назовём зависимость по данным синхронностью, а всё остальное как придётся, вместо того, чтобы признать, что можно использовать понятие асинхронности в конкретном смысле в контексте кооперативной многозадачности"  Нет, спасибо
даже процессор выполняет инструкции асинхронно, вот только у него зависимость на тактовый генератор, который синхронизирует выполнение (точнее, наоборот, у тактового генерратора на исполнение инструкций, потому появляются баги из-за оверклока, генератор не может простаивать, а результата ещё нет).

Асинхронность это только про настенные часы. Синхронные операции выполняются в том же порядке на настенных часах. Асинхронные могут перетасовываться.

Кто-то сделал реализацию многозадачности, позволяющую выполнять изначально синхронный код асинхронно, назвав это "асинхронным фреймворком", все почему-то подумали, что весь код исполняемый асинхронным фреймворком — асинхронный. А он только позволяет это, но не гарантирует.
источник

r

red75prime in rust_offtopic
Не надо придумывать своё определение асинхронности и тянуть его туда, где уже есть устоявшееся понятие.
источник

P

Pavel in rust_offtopic
red75prime
Не надо придумывать своё определение асинхронности и тянуть его туда, где уже есть устоявшееся понятие.
это устовшееся понятие с момента появления реализаций коопреативной многозадачности на уровне приложения, до этого было то, которое "тяну" я.
источник

SP

Stanislav Popov in rust_offtopic
вот меня доге тролил асихронностью
источник

r

red75prime in rust_offtopic
Какой ужас. У слов появляются другие значения.
источник

SP

Stanislav Popov in rust_offtopic
очевидно осинхронность это https://en.wikipedia.org/wiki/Async/await
источник

P

Pavel in rust_offtopic
red75prime
Какой ужас. У слов появляются другие значения.
какой ужас, частным неиронично называют общее.
источник

P

Pavel in rust_offtopic
господи, спасибо
источник

SP

Stanislav Popov in rust_offtopic
источник

SP

Stanislav Popov in rust_offtopic
то что вы там дрочите колбеками ивентлуп это извращения из нулевых
источник

P

Pavel in rust_offtopic
Stanislav Popov
то что вы там дрочите колбеками ивентлуп это извращения из нулевых
так ивент-луп это он и есть, всё так же по сей день, кроме извратов гошечки и ещё не рождённого project loom
источник