I've been experimenting with threading recently in Python and was curious when to use what.
For example, when should I use multithreading over multiprocessing? What would be a scenario when I should be using asynchronous IO rather than threading?
I mostly understand what each does (I think) but I can't see any benefits/downsides of using one over the other.
- What should I use if I was creating a small HTTP server?
- What should I use if I was creating a small HTTP client?
This baffles me...