Questa domanda mi sta facendo tirare fuori i capelli.In che modo i generatori Python sanno chi sta chiamando?
se faccio:
def mygen():
for i in range(100):
yield i
e chiamare da mille discussioni, come fa il generatore sa cosa inviare seguente per ogni thread? Ogni volta che lo chiamo, il generatore salva una tabella con il contatore e il riferimento del chiamante o qualcosa del genere?
È strano.
Per favore, chiarisci la mia mente su quello.
Sì, i thread erano solo per illustrare il problema. Considerando che i generatori potrebbero dare l'aspetto sbagliato della concorrenza (o qualcosa di più magico-nero di quello) ai principianti di pitone. –
@PatrickBassut: Beh, puoi simulare [coroutine] (https://en.wikipedia.org/wiki/Coroutine) con loro, e con le coroutine puoi creare [discussioni verdi] (https://en.wikipedia.org/wiki/Green_threads). I generatori – icktoofay