La programmazione concorrente in Python è molto colorata (e anche confusa). Ci sono troppe opzioni, ognuna con i suoi pro e contro ...
- Basato su thread (modulo
threading
) - Basato su processo (modulo
multiprocessing
) - Co-routine (
greenlet
,gevent
,eventlet
) - Async (
Twisted
,Tornado
) - Comunicazione tra processi (
subprocess
modulo) - Coda messaggi basata (
ØMQ
,PyCom
,mpi4py
) - Altro (
Pyro
,execnet
,Parallel Python
)
Conosco alcuni di questi e posso scrivere programmi che li usano. Ma, semplicemente, non sento di conoscerli abbastanza bene - non riesco a decidere cosa usare quando. Non so come metterli in prospettiva.
Quindi, la mia semplice domanda è: quali sono alcuni progetti open source che impiegano queste tecniche in modo che io possa vederle in azione nel programma reale.