C ++ Boost: Fiber — Как я могу прервать волокна или присоединиться в ожидании до максимального времени?

Как я могу остановить (прервать) волокно с помощью C ++ Boost?

например

fiber.stop()

Как я могу выполнить соединение волокна (время), используя c + boost (по умолчанию api не принимает максимальное время ожидания)?
например:

fiber.join(1000);

можно приостановить оптоволокно, сериализовать его на диск, а затем перезагрузить в системе?

0

Решение

boost.fiber смоделирован после API std :: threads — нет функции прерывания и не синхронизировано соединение.

Вы не можете сериализовать волокно, потому что это будет означать сериализацию стека волокна, что невозможно … по крайней мере, без поддержки компилятора.

Сериализация стека не рекомендуется, потому что компилятор должен заботиться об указателях на объекты, расположенные в стеке, например объекты должны быть перераспределены по тем же адресам, или указатель должен быть перезаписан после десериализации волокна (перезагрузка).

RAII нарушения будут легко возможны и т.д …

1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]