ThreadPoolExecutor创建多线程举个例子 python
时间: 2023-07-09 21:05:05 浏览: 110
一个创建多线程的例子
当然,我可以帮您回答这个问题。以下是Python的ThreadPoolExecutor创建多线程的简单示例:
```
import concurrent.futures
def worker(number):
print(f'Thread {number} is running.')
return number
if __name__ == '__main__':
with concurrent.futures.ThreadPoolExecutor(max_workers=4) as executor:
future_to_number = {executor.submit(worker, i): i for i in range(4)}
for future in concurrent.futures.as_completed(future_to_number):
number = future_to_number[future]
try:
result = future.result()
except Exception as exc:
print(f'Thread {number} generated an exception: {exc}')
else:
print(f'Thread {number} returned {result}.')
```
在这个示例中,我们定义了一个`worker`函数,它将打印当前运行的线程编号。然后,我们通过`ThreadPoolExecutor`创建了一个最大线程数为4的执行器。我们使用`executor.submit`方法将`worker`函数提交到执行器,以获得线程的异步结果。然后,我们通过`future_to_number`将将`worker`函数返回的结果与其对应的线程编号相关联。最后,我们使用`as_completed`函数来实时处理每个线程的结果。
这是一个简单的示例,但你可以根据你的需要来创建更复杂的多线程应用程序。
阅读全文