可能重复:
posix timer_create() function causing memory leak on linux
我在我的应用程序中使用posix timer_create()
函数作为计时器功能。我正在使用SIGEV_THREAD选项来实现超时方案。但是,当超时发生时,内核在运行时创建的线程不会退出。线程的启动功能也没有问题。出于测试目的,我已经使它成为虚拟功能。由于这个线程没有退出,它导致大约10mb的memroy泄漏。默认情况下创建的线程的分离状态为PTHREAD_CREATE_DETACHED。有人可以告诉我该如何摆脱内存泄漏?
答案 0 :(得分:0)
这是libc库,为您创建一个处理计时器的线程。在计时器触发后,此线程不会被销毁,以避免每次使用timer_create()
时创建/销毁线程。换句话说,一旦创建了一个计时器线程,它就会一直运行直到程序终止。
但是,计时器线程本身不会导致任何内存泄漏。内存泄漏很可能是由您的代码引起的。请发布您的代码。