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