gpt4 book ai didi

c++ - Linux 在多线程程序中处理特定线程上的信号

转载 作者:太空宇宙 更新时间:2023-11-04 09:34:19 25 4
gpt4 key购买 nike

我有一个程序,我想接受并处理传入的 TCP 连接,直到它收到终止信号。还有其他线程在进行数据处理,我无法完全控制这些线程,但如果我希望程序退出,我可以完全停止/中止。

while (true)
{
select(...)?
if (got-terminate-signal)
{
break;
}
else
{
...do stuff with sockets based on select...
}
}

最佳答案

你的问题不是很清楚,但我会试探一下我认为你的意思。

信号就像中断,捕获它们的例程就像中断服务例程(这个类比可能不完美)。您可能会注意到信号发生在处理程序中这一事实,然后通过某种同步方法(例如信号量)向另一个线程发出信号。

在 Google 上快速搜索会找到很多关于该主题的页面。 Here's one.

关于c++ - Linux 在多线程程序中处理特定线程上的信号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28327501/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com