我正在编写一个程序,其中我有一个守护线程,只要主线程正在运行,它就会在后台运行。当主线程结束时我想终止守护线程,所以我尝试了两种方法:
- 如果我使用 pthread_kill 我有内存泄漏,即使我将它初始化为可拆卸(没有必要加入这个线程)
- 由于这不起作用,我想只要全局
bool _daemonRun
为真,就在循环中运行守护线程。在主线程终止之前,我设置_daemonRun
为 false,然后在我pthread_exit(NULL)
在循环外使用的守护程序中。问题是 - 我如何恢复线程?使用条件变量似乎一团糟,因为我不希望线程等待......
有任何想法吗?谢谢