from threading import Thread from multiprocessing import Process def consume_mem(): p = [{1:2}]*1000000 o = [p]*1000000 def use_thread(): all_thread = [] for i in range(100): t = Thread(target=consume_mem) t.start() all_thread.append(t) for i in all_thread: i.join() def use_process(): all_process = [] for i in range(100): t = Process(target=consume_mem) t.start() all_process.append(t) for i in all_process: i.join() def use_func(): for i in range(100): consume_mem() # use_func() # use_process() use_thread() import pdb pdb.set_trace()