如何在满足某个参数时停止所有函数

c++ How to stop all functions when a certain parameter is met

本文关键字:函数 参数 满足      更新时间:2023-10-16

在c++中如何在满足此条件时停止或暂停所有其他函数

else if (packet[0] == 0x5)
{
}

基本上我有一个单独的void函数运行一个常量循环,但是如果packet[0] ==0x5我需要它来停止所有其他线程(或暂停)

请和谢谢蚂蚁

我不认为有一个直接的方法来停止或暂停其他线程(其他然后停止整个程序的exit(0))。我所知道的唯一方法是协作方式,其中需要停止或暂停的线程以某种方式得到通知,并主动响应此通知。通知的确切外观在很大程度上取决于您的系统。一种方法可能是原子标志,表明需要采取行动。如果您的线程支持消息传递,则向每个线程发送消息可能更轻量级。

在'stdlib.h'中有一个函数exit(int Status_Code)终止整个程序的执行。你应该调用exit(1)

如果您只想终止该函数,只需使用return。例如

if(condition_met)
{
 return;
}

可以将所有这些函数调用放到一个线程中,当你意识到需要停止这些函数时,杀死线程