C++ C++;带句柄的函数挂起以恢复
我正在尝试编写一些可以在两个环境中运行的组件代码C++ C++;带句柄的函数挂起以恢复,c++,C++,我正在尝试编写一些可以在两个环境中运行的组件代码 在离散事件模拟器中 自身作为可执行文件,具有高性能 在组件本身内部没有不同的源代码 在1。将有一个队列容纳可调用的对象,在该队列中头部将被不断地移除和调用。callable可以向队列中添加更多callable 我有一个问题,在一个可调用的组件中,我可能有如下内容 callable(){ useful_result = external_function() } 两个环境之间的外部_函数可能不同(依赖注入) 在环境2中。外部函数可能类似于 e
callable(){
useful_result = external_function()
}
两个环境之间的外部_函数可能不同(依赖注入)
在环境2中。外部函数可能类似于
external_function2(){
//do work
return result
}
exeternal_function1(){
//do some things
await new Promise((resolve,reject),()=>{
queue.push(()=>{resolve()});
});
//do more things
return result
}
这很好,一切都很好。然而,我想要模仿的行为是将这个外部函数2替换为外部函数1,它利用了队列。例如(在伪代码中)
这里的resume是一种神奇的可调用函数,当它从队列中弹出时,将从//do more things恢复函数
这是C++中的功能吗?
如果我错过了非常明显的事情,我道歉 多谢各位 另外,在Javascript中,我可以external_function2(){
//do work
return result
}
exeternal_function1(){
//do some things
await new Promise((resolve,reject),()=>{
queue.push(()=>{resolve()});
});
//do more things
return result
}
有STD::承诺和相关类,分别是:STD::异步(甚至C++ 20中的协同程序),但很可能你并不需要它们。