Koncept coroutines

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)

?

0

Ale że co?
Masz bana na dokumentację?

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

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ę ;-)

1

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

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.

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