我需要我的所有线程定期检查它们是否应该仍在运行,以便它们可以在程序结束时自行终止。除了其中一个之外,这只是检查状态变量的问题,但最后一个是用户交互线程,它的循环将无限期等待用户输入,仅在用户输入指令时检查状态变量. 此时程序无论如何都会失败,因为该类在不运行时无法正常运行。不过,理想情况下,我不想达到这一点。
如果可能的话,我认为最好的解决方案是在 getline 上超时,但如果它不可能或一个好的选择,我愿意接受任何允许线程整齐终止的选项。
顺便说一句,我看到很多提到 std::getline。无论我是否使用命名空间,getline 似乎都有效。一个是另一个的别名,哪个是正确的使用?