从线程内部终止线程的最佳方法或其他任何安全方法

背景: 所以我正在写一个基于网络的应用程序。该应用程序的一部分是线程无限循环并执行某些操作,还有一些其他线程会在收到新请求时变得生动起来(P.S.这些是预先生成的线程)。

因此,现在的问题是:这些线程主要使用静态数据,而我还没有遇到需要动态分配一些资源的情况。 因此,这些线程使用静态数据,并且当用户想要关闭程序或程序收到终止信号时,我希望以安全的方式终止线程。

那么什么是在内部终止线程或其他任何安全方式的最佳方法

我知道声明全局变量是有害的,即使它们是原子的也是如此。

谢谢。

附注:我对基于POSIX或C ++ 11线程的解决方案很好,这是有帮助的。