1
我正在編寫一個程序,其中只要主線程運行,我就有一個在後臺運行的守護進程線程。當主線程結束我要終止守護線程,所以我嘗試了兩種方法:使用cpp恢復pthread
-
如果我使用pthread_kill我有內存泄漏,甚至當我初始化它可拆卸
- (有沒有必要不斷加入這個線程)
- 由於這不起作用,只要全局
bool _daemonRun
爲真,我就想到在循環中運行守護進程線程。在主線程終止前,我將_daemonRun
設置爲false,然後在守護進程中,我在循環外部使用pthread_exit(NULL)
。問題是 - 如何恢復線程?使用條件變量似乎是一團糟,因爲我不希望線程等待...
任何想法?謝謝
當你只想殺死線程,當進程結束時,我沒有得到你的意思,恢復它 – PlasmaHH
'當進程結束時,我想終止線程' - 是否有任何壓倒一切的理由明確地做到這一點?如果沒有,只需結束這個過程並讓操作系統清理乾淨。 –