
def doDownload(i): subprocess.run(['youtube-dl', '-o', f'{i[0]}.flv', f'{i[1]}']) if __name__ == "__main__": bvids = getvideoList() with concurrent.futures.ThreadPoolExecutor(max_workers=4) as ex: for item in bvids: ex.submit(doDownload, item) 需要用到 subprocess.run()调用 shell 运行 youtube-dl
1 ArchieMeng 2021-12-22 16:46:50 +08:00 via Android 看你怎么定义多进程。从操作系统来看,你这就是多进程。 |
2 ClericPy 2021-12-22 22:04:17 +08:00 之前试过子进程开多了确实利用了多核, 有多 pid 用了多个 CPU. 虽然在父进程里确实也是多线程... |
3 mingl0280 2021-12-23 05:02:37 +08:00 via Android 肯定是多进程+线程啊,对于父进程来说,线程只是一个符号,你在多线程地管理多个符号而已。 |
4 zepc007 2021-12-27 09:26:44 +08:00 多线程和多进程算是被你整明白了 |
5 nikan999 2021-12-28 03:15:15 +08:00 算 多线程+多进程 |