I used unordered_map and I started 3 worker threads in my C++ program. But when I used gdb to run my code, I found the following GDB debug info frequently and continually were showing up:
[New Thread 0x2aaac3dc6700 (LWP 4709)]
[Thread 0x2aaac3dc6700 (LWP 4709) exited]
[New Thread 0x2aaac3dc6700 (LWP 4710)]
[Thread 0x2aaac3dc6700 (LWP 4710) exited]
[New Thread 0x2aaac3dc6700 (LWP 4711)]
[Thread 0x2aaac3dc6700 (LWP 4711) exited]
.....................
How could so many threads were created and quickly destroyed, were there background threads for garbage collection of obsoleted objects(just like Java), I doubt if the unordered_map object caused so many threads to do clean for it.
question from:
https://stackoverflow.com/questions/65649249/how-many-background-threads-are-running-after-starting-c-program 与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…