温馨提示×

python怎么终止线程池中的线程

小亿
357
2024-01-22 14:04:34
栏目: 编程语言

要终止线程池中的线程,可以使用ThreadPoolExecutor类的shutdown()方法。

下面是一个例子,展示如何使用ThreadPoolExecutor创建线程池,并在需要时终止其中的线程:

from concurrent.futures import ThreadPoolExecutor
import time

def task():
    print("Thread started")
    time.sleep(5)
    print("Thread finished")

# 创建线程池
executor = ThreadPoolExecutor(max_workers=5)

# 提交任务到线程池
executor.submit(task)

# 终止线程池中的线程
executor.shutdown()

在上面的例子中,使用ThreadPoolExecutor创建了一个最大线程数为5的线程池。然后,通过submit()方法提交了一个任务到线程池中。最后,调用shutdown()方法终止线程池中的线程。

需要注意的是,shutdown()方法会等待所有已提交的任务执行完毕后再终止线程池中的线程。如果想立即终止线程池中的线程,可以使用shutdown_now()方法。

# 立即终止线程池中的线程
executor.shutdown_now()

需要注意的是,使用shutdown_now()方法终止线程池中的线程可能会导致未完成的任务被取消。

0