It would help to have a place where the various approaches to concurrency in Python are explained and compared. It would be especially useful to enumerate the most common concurrency-oriented workloads and show how to implement them using the different concurrency models.
I expect we would cover the following concurrency models:
- threads (
threading and concurrent.futures)
- multi-processing (
multiprocessing and concurrent.futures)
- async/await
- CSP/actor model (PEP 734
interpreters)
- distributed (e.g. SMP/dask)
Other related resources:
Linked PRs