Size: a a a

2021 January 27

Oℕ

Oleg ℕizhnik in Haskell Start
Просто стоит говорить, что корутина "асинхронная" там, говоря о корутинах в принципе
источник

Oℕ

Oleg ℕizhnik in Haskell Start
Мало того, это не какой-то альтернативный подход тем же гринтредам
источник

AP

Aleksei (astynax) Pi... in Haskell Start
Так возможность возвращаться и нужна, чтобы как бы несколько потоков исполнения иметь — логических, а не физических.
источник

Oℕ

Oleg ℕizhnik in Haskell Start
Aleksei (astynax) Pirogov
Так возможность возвращаться и нужна, чтобы как бы несколько потоков исполнения иметь — логических, а не физических.
Раньше не для этого нужна была
источник

AP

Aleksei (astynax) Pi... in Haskell Start
Oleg ℕizhnik
да блин, корутины существовали задолго до того, как кто-то хотел разделять потоки выполнения.
Отличие корутины от субрутины в том, что субрутина при возврате завершается, а к корутине можно потенциально много раз возвращаться.
В питоне корутины асинхронные появились недавно, а просто корутины были миллиард лет
Корутины синхронные питоновы давно знаю, да. И они больше на pushing data flow похожи, чем на конкаренси, тут согласен
источник

Oℕ

Oleg ℕizhnik in Haskell Start
Везёт вам ещё, что нет @clayrat в чате, он бы рассказал про корутины и какие-нибудь секвенциональные исчисления
источник

Oℕ

Oleg ℕizhnik in Haskell Start
Выяснилось бы, случайно, что какие-нибудь джойны в ядре GHC концепт, родственный в этом смысле корутинам
источник

AP

Aleksei (astynax) Pi... in Haskell Start
Стоит всё же отметить, что сейчас корутины, это как раз "конкаренси для бедных"
источник

Oℕ

Oleg ℕizhnik in Haskell Start
ну я не знаю, так уж ли для бедных
источник

AP

Aleksei (astynax) Pi... in Haskell Start
Или "контролируемая конканенси" %)
источник

AP

Aleksei (astynax) Pi... in Haskell Start
Oleg ℕizhnik
ну я не знаю, так уж ли для бедных
"Богатые" здесь те, кому позволительно нитку ОС иметь на каждый чих.
источник

S

Sergey in Haskell Start
Aleksei (astynax) Pirogov
В сопроцедурах как правило известно, где может происходить переключение потока исполнения. Вытесняющая многозадачность не требует такой разметки
кто ж тогда горутины-то
источник

AP

Aleksei (astynax) Pi... in Haskell Start
горутины — не корутины
источник

AP

Aleksei (astynax) Pi... in Haskell Start
легковесные потоки с вытесняющим переключением
источник

Oℕ

Oleg ℕizhnik in Haskell Start
горутины не вытесняющие
источник

Oℕ

Oleg ℕizhnik in Haskell Start
там тоже явно точки переключения задаются
источник

Oℕ

Oleg ℕizhnik in Haskell Start
Ну эти точки легко обнаружить, это чтение и запись в ченнелы и связанные операции, select, for range и т.п.
источник

AP

Aleksei (astynax) Pi... in Haskell Start
Хмм...
источник

A

Aleksandr Khristenko in Haskell Start
Oleg ℕizhnik
горутины не вытесняющие
уже вытесняющие
источник

Oℕ

Oleg ℕizhnik in Haskell Start
Aleksandr Khristenko
уже вытесняющие
интересно, не видел этого
источник