When should Python code use threads, processes, or asyncio?
Threads often suit blocking I/O when libraries expose synchronous APIs. asyncio suits large numbers of cooperating I/O operations when the libraries are asynchronous; blocking work still blocks the ev...