On Mon, Mar 17, 2014 at 12:34 PM, Nicola Larosa <n...@teknico.net> wrote:

> Nicola Larosa wrote:
>>
>>> "3. Explicit coroutines: Twisted’s @inlineCallbacks, Tulip’s yield
>>> from coroutines, C#’s async/await, where you have a syntactic
>>> feature that explicitly suspends the current routine,
>>>
>>> 4. and finally, implicit coroutines: Java’s “green threads”,
>>> Twisted’s Corotwine, eventlet, gevent, where any function may
>>> switch the entire stack of the current thread of control by calling
>>> a function which suspends it."
>>>
>>
> Manlio Perillo wrote:
>
>> Go non ha una sintassi per sospendere esplicitamente una goroutine;
>> quindi appartiene a 4)?
>>
>
> La sospensione avviene quando una goroutine manda un valore su un canale
> non bufferizzato: fin quando un'altra goroutine non legge quel valore, la
> prima è bloccata.
>
> E poi ovviamente anche quando una goroutine riceve un valore da un canale
> non bufferizzato, o vuoto.
>
> Invio e ricezione fanno parte della sintassi del linguaggio, tramite gli
> operatori freccia "->" e "<-".
>
>
>
Si, ma una scrittuta/lettura su un canale possono essere "nidificate"
all'interno di N funzioni.  Non è' lo stesso di quello che accade con
gevent?

Con yield è diverso, perchè deve essere presente in ogni livello di
chiamata a funzione.


Ciao  Manlio
_______________________________________________
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python

Rispondere a