Message350108
This is very similar to issue35715. But this is happen for thread.
After the func in thread finished, the memory is still hold and accumulate.
import asyncio
import time
import concurrent
import threading
loop = asyncio.get_event_loop()
def prepare_a_giant_list():
m = []
for i in range(1000*1000):
m.append("There's a fat fox jump over a sheep" + str(i))
th_num = threading.active_count()
print("Thread number is {}".format(th_num))
return m
@asyncio.coroutine
def main():
global loop
global counter
async_executor = concurrent.futures.ThreadPoolExecutor(max_workers=20)
loop.run_in_executor(async_executor, prepare_a_giant_list)
time.sleep(15)
loop.run_in_executor(async_executor, prepare_a_giant_list)
time.sleep(15)
loop.run_in_executor(async_executor, prepare_a_giant_list)
time.sleep(15)
loop.run_in_executor(async_executor, prepare_a_giant_list)
time.sleep(15)
if __name__ == "__main__":
loop.run_until_complete(main())
loop.close() |
|
Date |
User |
Action |
Args |
2019-08-21 20:55:03 | Tianshu Gao | set | recipients:
+ Tianshu Gao, asvetlov, yselivanov |
2019-08-21 20:55:03 | Tianshu Gao | set | messageid: <1566420903.63.0.857548145971.issue37909@roundup.psfhosted.org> |
2019-08-21 20:55:03 | Tianshu Gao | link | issue37909 messages |
2019-08-21 20:55:03 | Tianshu Gao | create | |
|