[Python] Non blocking http server e integrazione con database relazionali

Manlio Perillo manlio.perillo a gmail.com
Lun 17 Mar 2014 13:52:14 CET


On Mon, Mar 17, 2014 at 12:34 PM, Nicola Larosa <nico a 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
-------------- parte successiva --------------
Un allegato HTML è stato rimosso...
URL: <http://lists.python.it/pipermail/python/attachments/20140317/a1731326/attachment.html>


Maggiori informazioni sulla lista Python