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

1479
2023/12/24 14:04:34
栏目: 编程语言
开发者测试专用服务器限时活动,0元免费领,库存有限,领完即止! 点击查看>>

要终止线程池中的线程,可以使用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()方法终止线程池中的线程可能会导致未完成的任务被取消。

辰迅云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>

推荐阅读: python中怎么查找指定字符