<div dir="ltr"><div class="gmail_extra"><div class="gmail_quote">2015-01-16 10:40 GMT+01:00 Nicola Larosa <span dir="ltr"><<a href="mailto:nico@teknico.net" target="_blank">nico@teknico.net</a>></span>:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><span class="">Marco Ippolito wrote:<br>
> A settembre, elettrizzato dalla possibilità che si potesse lavorare</span></blockquote><div>> [...] </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><span class=""><br>
> You cannot drop a random library into an asyncio project and expect it<br>
> to function correctly. The project needs to have been written from the<br>
> ground up to understand asyncio, or at least to have been wrapped in<br>
> asyncio goodness.<br>
<br>
</span>Questo è il problema comune della programmazione asicrona, che la<br>
rinchiude in una specie di ghetto. Almeno in Python. ;-)<br></blockquote><div><br></div><div>In generale la programmazione asincrona</div><div>(o meglio il pattern reactor e/o proactor, che sono due cose diverse),</div><div>in un linguaggio "normale" richiede l'uso di callback + macchina a stati.</div><div><a href="http://en.wikipedia.org/wiki/Reactor_pattern">http://en.wikipedia.org/wiki/Reactor_pattern</a><br></div><div><a href="http://en.wikipedia.org/wiki/Proactor_pattern">http://en.wikipedia.org/wiki/Proactor_pattern</a><br></div><div><br></div><div>Le coroutine (e purtroppo CPython non le implementa, i generatori sono un sotto insieme), risolvono il problema, ma ne introducono altri come la gestione dello stack da parte del runtime.</div><div><br></div><div></div></div></div><div class="gmail_extra">> [...]</div><div class="gmail_extra"><br></div><div class="gmail_extra">Ciao  Manlio</div></div>