gpt4 book ai didi

python - 减少 ThreadPoolExecutor 创建的事件线程数?

转载 作者:太空宇宙 更新时间:2023-11-04 09:55:14 24 4
gpt4 key购买 nike

对于 ThreadPoolExecutor,我想监控实际运行的线程数。但这似乎是不可能的。事件线程的数量不断增加。对于普通线程,如果目标函数返回,线程将关闭。

import threading, concurrent.futures

def test():
pass

p_ac=threading.active_count()
#Number of threads=2

#for threads
trs=[None]*10
for i in range(10):
trs[i]=threading.Thread(target=test)
trs[i].start

print(threading.active_count()==p_ac)
#True

#for executor
executor=concurrent.futures.ThreadPoolExecutor(10)
for _ in range(10):
executor.submit(test)
print(threading.active_count())
#Number of threads=12

最佳答案

ThreadPoolExecutor 不会在事件时关闭其线程。 ThreadPoolExecutor(X) 创建 X 个线程并使它们保持事件状态,直到您通过 executor.shutdown() 关闭执行器或执行器本身决定它不关闭需要这么多线程。无论如何,如果执行程序处于事件状态,X 是预期的线程数。

关于python - 减少 ThreadPoolExecutor 创建的事件线程数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46158755/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com