在此示例中,将在thread.join之后对Thread进行垃圾回收吗?

问题描述

在执行w1_th w2_th之后,w1_th.join()w1_th.join()会释放RAM资源吗?我有一个结构相似的复杂脚本,每个while循环的RAM使用率似乎都在增加。换句话说,我想确保循环结束后释放RAM资源。

from multiprocessing import Event,Lock
from threading import Thread

def worker(**kwargs):
     # do some work and save output to some (eg .csv) file


def topmethod(**kwargs):
    signal_to_stop.set = kwargs['signal_to_stop']
    while not signal_to_stop.set():
        # worker 1 
        w1_th = Thread(target=worker,daemon=False,kwargs={'foo':1})
        w1_th.start()
        w2_th = Thread(target=worker,kwargs={'foo':2})
        w2_th.start()
        w1_th.join()
        w2_th.join()
if __name__ == "__main__":
    signal_to_stop = Event()
    top_th = Thread(target=topmethod,kwargs={'signal_to_stop':signal_to_stop})
    top_th.start()
    try:
        top_th.join()
    except KeyboardInterrupt:
        signal_to_stop.set()
        print("Ending program")

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)