我希望在收到停止消息时终止进程当前正在运行的所有线程。但我希望流程仍然继续运行以接受新请求。我使用的是c ++ std :: thread而不是pthreads
答案 0 :(得分:1)
简而言之:您无法在ISO c ++中杀死线程。你只能这样,例如重复轮询线程内的标志并停止进一步处理。
由于std :: threads通常在linux上的pthreads之上实现,因此您可以利用该API,例如:看看pthread_cancel。但请记住,这不会触发任何c ++析构函数,因此在执行此操作时必须非常小心以避免资源泄漏。