Message402574
I cannot reproduce the issue. IMO it has been fixed.
Moreover, you must join timers using timer.join(): a timer remains a thread.
Code:
---
import os
import threading
os.system(f"grep ^VmRSS /proc/{os.getpid()}/status")
# warmup
for n in range(10):
timer = threading.Timer(5, None)
timer.start()
timer.cancel()
timer.join()
os.system(f"grep ^VmRSS /proc/{os.getpid()}/status")
for n in range(1000):
timer = threading.Timer(5, None)
timer.start()
timer.cancel()
timer.join()
os.system(f"grep ^VmRSS /proc/{os.getpid()}/status")
---
Output on Linux with the main branch of Python (3.11):
---
VmRSS: 10924 kB
VmRSS: 11104 kB
VmRSS: 11104 kB
--- |
|
| Date |
User |
Action |
Args |
| 2021-09-24 15:51:58 | vstinner | set | recipients:
+ vstinner, martin.panter, fengjiang |
| 2021-09-24 15:51:58 | vstinner | set | messageid: <[email protected]> |
| 2021-09-24 15:51:58 | vstinner | link | issue43050 messages |
| 2021-09-24 15:51:58 | vstinner | create | |
|