如何解决在python中使用线程时如何处理内存不足错误
我有内存泄漏,但我找不到解决方法。我认为原因是因为我使用线程并且没有以正确的方式停止/终止它。
import threading
def worker():
if nextJobActive() and number_of_active_threads<5:
t = threading.Thread(target=startThread,args=(my_list,my_item))
t.start()
def startThread():
#do something here,which takes ~15 Min.
我在 while(true) 循环中运行 worker()
方法。在我的情况下,我总是必须开始新的线程。但我从不停止线程。我也不知道该怎么做。无论如何,在我的情况下是否可以安全地停止线程?
解决方法
如您所知,您正在创建无限数量的线程,而没有正确停止前一个线程。要等待线程终止,有一个 .join() 方法。以下是 Thread 模块的文档:docs。
import threading
def worker():
if nextJobActive() and number_of_active_threads<5:
t = threading.Thread(target=startThread,args=(my_list,my_item))
t.start()
t.join()
def startThread():
#do something here,which takes ~15 Min.
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。