首页 > 解决方案 > 从线程内部终止线程的最佳方式或任何其他安全方式

问题描述

背景:所以我正在编写一个基于网络的应用程序。应用程序有一部分线程无限循环并执行一些操作,还有其他线程在收到新请求时开始运行(PS,这些是预先生成的线程)。

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

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

我知道声明全局变量会很糟糕,即使它们是原子的或东西。

谢谢你。

PS:我对基于 POSIX 或 C++11 线程的解决方案没有任何帮助。

标签: cmultithreadingc++11networkingposix

解决方案


既然您已经有办法为正在运行的线程(FD)提供某种工作,为什么不添加一种方法来给它一个“停止”命令呢?


推荐阅读