c++ - 在 C++ 中处理中断

标签 c++ synchronization interrupt

我正在为能够运行多个应用程序的嵌入式设备编写框架。在应用程序之间切换时,如何确保正确清理当前应用程序的状态?例如,假设我正在一个应用程序中运行一个密集循环,并且在该循环尚未完成时请求运行第二个应用程序。在循环完成之前我无法删除包含循环的对象,但我不确定如何确保循环对象处于准备好删除的状态。我是否需要某种轮询机制或事件回调来在完成时通知我?

谢谢。

最佳答案

通常,如果您需要执行此类操作,您将拥有一个可以处理多个任务的操作系统/实时操作系统(即使该操作系统是一个简单的自制软件类型)。

如果您还没有 RTOS,您可能想研究一个(有数百个可用的)或考虑合并一些像 protothreads 这样简单的东西:http://www.sics.se/~adam/pt/

关于c++ - 在 C++ 中处理中断,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/738564/

相关文章:

python - 如何在被 Python 杀死之前运行最后一个函数?

Ruby Net::SFTP 传输中断处理

c - Linux 中的软中断处理时序与硬中断处理时序

c++ - 在 C 中截断 double 而不进行舍入

c++ - 为什么没有 <STLfwd> header ,它的不存在可以被视为缺陷吗?

c# - OpenEvent/OpenFileMapping 失败并显示 ERROR_ACCESS_DENIED

java - Java中的委托(delegate)模式应该同步哪个方法

multithreading - 为什么 AutoResetEvent 和 ManualResetEvent 不支持构造函数中的名称?

c++ - 为什么我不能在绑定(bind)中使用 mem_fn Functor?

c++ - Visual Studio 2008 -> 2010 端口 : error C2039: 'select2nd' : is not a member of 'std'