Можно ли приостановить / возобновить всех актеров в системе actor_system?
Моя цель - создать приложение утилиты командной строки, которое использует CAF для параллелизма, и я хотел бы поддержать приостановку и возобновление работы утилиты путем ввода данных с консоли (т. Е. Ctrl-c и т. Д.).
Предоставляет ли CAF / поддерживает механизм приостановки / приостановки поведения всех действующих лиц в системе actor_system? Если да, есть ли способ уведомить actor_system о возобновлении с того места, где оно было приостановлено?
1 ответ
Нет, CAF поддерживает временно отстраненных актеров. Самая близкая вещь, которую CAF может предложить, - позволить пользователям останавливать / возобновлять работу планировщика. Тем не менее, отдельные актеры работают в своих собственных потоках. Брокеры также не используют планировщик и вместо этого запускают цикл обработки событий ввода-вывода.
У вас есть не-CAF части вашего приложения, которые должны работать независимо? В противном случае вы можете просто приостановить процесс на уровне ОС (например, через CTRL+Z).