[Python] aggiungere o distruggere una locked item in un dict mentre un'altro thread o asyncio lo legge/scrive per un'altra item?

enrico franchi enrico.franchi a gmail.com
Gio 11 Feb 2016 19:15:47 CET


2016-02-11 18:07 GMT+00:00 alessandro medici <alexxandro.medici a gmail.com>:

> Si, in effetti uso asyncio in un thread, ma altri thread lavorano al
> contempo sugli stessi dizionari e mi risulta che che Gil si sganci quando
> entra in un thread.
>

Ma hai una buona ragione per andare di multithreading in Python (yet to be
found) *e* infilare su un thread un runloop di asyncio?

No aspetta... il problema e' che hai una GUI; in questo caso vedo del
senso. Per tutto il resto.. no.

Spiego meglio: i thread in Python fanno grosso modo cacare (sentiti libero
di riformulare come: "i thread fanno cacare, specie in Python"). L'unica
cosa per cui non sono completamente fallimentari e' usarli per fare I/O --
visto che per cose CPU bound non funzionano affatto come ci si aspetta --.
E guarda caso e' anche la cosa che dovrebbe fare bene asyncio (i/o, that
is). Il che vuole dire che se devi solo fare I/O, allora potresti usare
solo asyncio. Se devi fare roba CPU bound, i thread non sono la soluzione.

A meno che per qualche motivo non hai da integrare runloop misti (gui)...
che alcuni framework asincroni ti consentono di fare abbastanza facilmente
(Twisted), ma che magari asyncio non consente di fare in modo altrettanto
semplice.


-- 
.
..: -enrico-
-------------- parte successiva --------------
Un allegato HTML è stato rimosso...
URL: <http://lists.python.it/pipermail/python/attachments/20160211/63726731/attachment.html>


Maggiori informazioni sulla lista Python