python 线程池关闭
时间: 2023-06-29 18:19:28 浏览: 184
关闭线程池
4星 · 用户满意度95%
在 Python 中,可以使用 `ThreadPoolExecutor` 类来创建线程池。如果要关闭线程池,可以使用 `shutdown()` 方法。该方法将等待所有已提交的任务完成后关闭线程池。
下面是一个简单的示例代码:
```python
import concurrent.futures
import time
def worker(num):
print(f"Starting worker {num}")
time.sleep(1)
print(f"Finishing worker {num}")
with concurrent.futures.ThreadPoolExecutor(max_workers=2) as executor:
# 提交任务到线程池
future1 = executor.submit(worker, 1)
future2 = executor.submit(worker, 2)
# 关闭线程池
executor.shutdown(wait=True)
print("All tasks are finished.")
```
在上面的代码中,我们创建了一个包含两个线程的线程池,并提交了两个任务。然后使用 `shutdown()` 方法关闭线程池,并设置 `wait=True`,以等待所有已提交的任务完成后再关闭线程池。
注意,如果设置 `wait=True`,则线程池将等待所有任务完成后再关闭。如果设置为 `False`,则立即关闭线程池,但未完成的任务可能会被取消。
阅读全文