Koncept coroutines

Odpowiedz Nowy wątek
2018-11-09 11:04
0

1) O ile dobrze rozumiem, to generatory i coroutines mają się tak do siebie jak producent i konsument?
2) W Pythonie3 używa się konstrukcji z await dla coroutines i przestarzałe jest użycie w stylu:

def foo:
   while _keep_running: 
      event = yield
      handle(event)

?

Pozostało 580 znaków

2018-11-09 13:36
0

Ale że co?
Masz bana na dokumentację?

Sprawdź, czy Ci wchodzi :D
https://docs.python.org/3/library/asyncio-task.html

edytowany 1x, ostatnio: Spine, 2018-11-09 13:36

Pozostało 580 znaków

2018-11-09 14:01
0

Pytałem głównie o intuicyjne rozumienie (Q1), a składnia to kwestia drugorzędna (Q2, aczkolwiek warto wiedzieć jaki jest stan bieżący i spodziewany).
W tzw. międzyczasie znalazłem proste wytłumaczenie dla Q1: https://en.wikipedia.org/wiki/Coroutine

W każdym razie dzięki za wysiłek włożony w dyskusję ;-)

Pozostało 580 znaków

2018-11-09 15:09
1

Async/await to tylko jedno z zastosowań coroutines. Myślę, że by łatwiej zrozumieć coroutines warto zacząć od synchronicznych wariantów.


"Programs must be written for people to read, and only incidentally for machines to execute." - Abelson & Sussman, SICP, preface to the first edition
"Ci, co najbardziej pragną planować życie społeczne, gdyby im na to pozwolić, staliby się w najwyższym stopniu niebezpieczni i nietolerancyjni wobec planów życiowych innych ludzi. Często, tchnącego dobrocią i oddanego jakiejś sprawie idealistę, dzieli od fanatyka tylko mały krok."
Demokracja jest fajna, dopóki wygrywa twoja ulubiona partia.

Pozostało 580 znaków

2018-11-09 15:40
0

Zawsze mi łatwiej coś zrozumieć jak znajdę analogię do czegoś mi znanego. Synchroniczny wariant kojarzy mi się właśnie z konsumentem, który może zapamiętać stan i nie byłem pewien czy słuszne skojarzenia mam.

Pozostało 580 znaków

Odpowiedz
Liczba odpowiedzi na stronę

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0