0
スレッド内のメモリ内のすべてがメモリからクリアされるようにPythonスレッドを閉じるにはどうしたらいいですか?Pythonスレッドを閉じてメモリリークを防ぐ
for t in threadlist:
t.join(5)
これらのスレッドが最初に作成された引数のリストをループリストに結果を追加しmyfunc
で各スレッドに渡す::現在、私は次のように参加するスレッドのリストを持っている
threadlist = []
for r in arglist:
t = Thread(target=myfunc, args=(r,))
t.daemon = True
threadlist.append(t)
pympler
でメモリ内の内容を見ると、スレッドによって呼び出される関数内のすべてのものが、この実行後にメモリに残ります。私はmyfunc
を通常スレッディングなしで呼び出すと、ガベージコレクトする必要があります。削除さ
オブジェクトは、オブジェクト関数内に含まれたコメントで解決
'threadlist'が存在する限り、myfunc内で参照されるすべてのメモリは解放できません。 – stovfl
threadlistはオブジェクト内に 'myobj.threadlist'として含まれています。私は 'del myobj 'というオブジェクトを削除していますが、まだこの問題があります。 – Michael
'del'は_garbage collecting_を保証しません。作成された参照を確認してください。これは返されたオブジェクトでもあります。 – stovfl