【发布时间】:2017-08-10 00:27:09
【问题描述】:
我想在进程收到停止消息时终止所有当前正在运行的线程。但我希望进程继续运行以接受新请求。我使用 c++ std::thread 而不是 pthreads
【问题讨论】:
-
将停止消息转发给所有正在运行的线程,让它们定期检查消息,如果找到则返回。
-
进程的线程数比它启动的 n 个线程多 1 个。我将此线程称为“main()”,它会继续运行直到退出。
-
您可能不想杀死(终止)线程,因为它们可能持有锁或其他会破坏一切的东西。您想很好地要求他们在他们处于良好状态时终止。这意味着线程需要定期检查它们是否应该退出。
-
感谢您的 cmets。但我不使用 pthread 库
标签: c++ linux terminate terminate-handler