Skip to main content
 首页 » 编程设计

Python顺序运行线程

2025年05月04日15youxin

<分区>

我正在尝试在 Python 中并行运行代码。

我的用例如下:我有一个需要运行数千次的进程。但由于它依赖于下载,我需要注意同时运行的数量(我每分钟的请求数量有限)。因此,我希望总是同时运行该函数 10 次,每次完成后我都想启动一个新进程。

快速阅读后,线程模块似乎就是我要找的东西。然而,一些小实验似乎表明 Python 不会并行运行线程。

当我运行下面的代码时

import threading 
import time 
 
wait = 0.4 
 
def f(x): 
 for j in range(1,100): 
    time.sleep(wait) 
    print(x) 
 
 
threading.Thread(target = f(1)).start() 
threading.Thread(target = f(2)).start() 

进入命令行

1 
1 
1 
1 
1 

在打印完所有 100 个之前,不会出现一个 2。

这是怎么来的?理论上 f(1) 和 f(2) 应该同时运行吧?