Bonjour, je bute sur un problème assez gênant, python refuse de supprimé une variable qui prend de la place, voici mon code:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
from tkinter import *
import multiprocessing
import os
 
def new_window(list):
    while True:
        print(list[0])
 
class Test:
    def __init__(self):
 
        def firstn(n):
            nums = []
            for i in range(0,n):   
                nums.append(i)
            return nums
 
        sum_of_first_n = firstn(2000000)
        self.new_window(sum_of_first_n)
        del sum_of_first_n
 
        print("end")
 
 
    def new_window(self, list):
        p = multiprocessing.Process(target=new_window, args=(list,))
        p.start()    
 
if __name__ == '__main__':
    toto = Test()
une fois p = multiprocessing.Process(target=new_window, args=(list,)) lancé, python vas copié ma variable list dans le nouveau processus, mais après ne vas pas supprimé (même manuellement avec del) cette derniere.

Du coup je me retrouve avec 90mo de ram au lieu de seulement 45, y'a t'il une solution ?