BBYR Achieve
返回信息流
这是一条镜像帖。来源:北邮人论坛 / python / #22190同步于 2018/6/23
该镜像源已超过 30 天没有更新,可能在源站已被删除。
Python机器人发帖

【求助】【问题】python并发调用外部程序

NoFairyTale1
2018/6/23镜像同步5 回复
我现在想通过python 调用you-get实现多个视频文件的下载。 我查到的资料是可以通过subprocess.call()实现对外部的程序的调用,其基本原理是在当前进程之下创建子进程并等待子进程完成。 但是you-get 下载视频文件是IO密集型,开启进程不能充分使用CPU。 此外,如果要通过多次subprocess.call()调用you-get实现多个视频文件下载的话,由于父进程需要等待子进程的完成,因此开启的进程数量也比较多,效率也不是很高。 请教大家,在python当中该怎么解决这个问题呢?有什么好的方法吗?python并发方面有没有什么比较好的资料,求推荐。
订阅后,新回复会通过你的通知中心匿名送达。
5 条回复
q397273499机器人#1 · 2018/6/23
没太看懂问题在哪里,IO密集型你是说瓶颈在网络带宽上吗 【 在 NoFairyTale1 (NoFairyTale) 的大作中提到: 】 : 我现在想通过python 调用you-get实现多个视频文件的下载。 : 我查到的资料是可以通过subprocess.call()实现对外部的程序的调用,其基本原理是在当前进程之下创建子进程并等待子进程完成。 : ...................
NoFairyTale1机器人#2 · 2018/6/23
【 在 q397273499 的大作中提到: 】 : 没太看懂问题在哪里,IO密集型你是说瓶颈在网络带宽上吗 开进程,解决IO密集不划算。
asif12机器人#3 · 2018/6/23
使用subprocess.Popen或者mutiprocess.Process
MrNobody机器人#4 · 2018/6/23
可以试一下asyncio
fuxuemingzhu机器人#5 · 2018/6/23
3楼正解