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

问题描述 投票:0回答:1

背景:我正在写一个基于网络的应用程序。该应用程序有一部分线程无限循环并执行一些操作,也有其他线程,当收到一个新的请求时,这些线程就会复活(P.S.这些都是预先生成的线程)。

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

那么,内部终止线程的最佳方式是什么,或者有什么其他安全的方式吗?

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

谢谢你。

P.S:我对基于POSIX或C++11线程的解决方案没有意见,任何东西都是有帮助的。

c multithreading c++11 networking posix
1个回答
1
投票

既然你已经有了给正在运行的线程(FD)某种工作的方法,为什么不增加一个给它 "停止 "命令的方法呢?

© www.soinside.com 2019 - 2024. All rights reserved.