什么时候用进程
计算密集型任务(CPU-bound tasks):进程适合用于CPU密集型任务,即那些主要依赖于计算能力而不是等待输入/输出操作的任务。因为每个进程在独立的地址空间中运行,多个进程可以并行使用多个CPU核心,充分利用多核CPU的并行计算能力。
图像处理、视频渲染、大规模数据分析中,使用多进程来并行化工作负载。
什么时候用线程
I/O密集型任务(I/O-bound tasks):线程非常适合用于I/O密集型任务,即那些主要受限于等待外部设备(如硬盘、网络)响应的任务。由于线程可以在/O操作等待期间切换执行其他任务,因此能更好地利用CPU的空闲时间。
爬虫,文件读写,网络请求