我如何使用C ++ Boost停止(中断)光纤?
例如
fiber.stop()
我如何使用c + boost执行光纤连接(时间)(默认api不接受等待的最大时间)?
例如:
fiber.join(1000);
是否可以挂起光纤,将其序列化到磁盘上,然后将其重新加载到系统中?
最佳答案
boost.fiber是在std :: threads的API之后建模的-没有中断功能并且没有定时连接。
您无法序列化光纤,因为这将意味着无法序列化光纤的堆栈……至少在没有编译器支持的情况下也是如此。
不建议使用堆栈序列化,因为编译器必须注意指向分配在堆栈上的对象的指针,例如必须在反序列化光纤(重新加载)之后将对象重新分配到相同的地址,或者必须重新编写指针。
违反RAII的行为很容易发生,等等...
关于c++ - c++ boost:fiber-如何中断光纤或加入等待直到最大时间?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/47948804/