Здесь я вижу два фундаментальных решения.
Во-первых, существуют ли режимы отказа Box, которые должны требовать перезапуска всего процесса, в котором выполняются процессы?
Затем, если есть такиеРежимы отказов. Можем ли мы ограничить влияние режимов отказов, разделив боксы на их собственные пространства процессов?То есть мы увеличим изоляцию, чтобы улучшить общую стабильность?
Принцип изоляции очень часто применяется, например, на серверах приложений Java EE мы можем сознательно выбрать изоляцию некоторых приложений от других, потому что некоторые приложения являютсянестабильный - нестабильный код JNI имеет тенденцию разрушать весь процесс.
Я полагаю, что такого рода изоляция обычно необходима, потому что у нас есть основания не доверять некоторому коду.Теперь в вашем случае вы пишете Box, действительно ли невозможно перехватить все исключения и обработать их?Даже если Box должен остановиться, не можем ли мы уловить проблему и запустить новый экземпляр?
Так что я бы попытался укрепить свой класс Box, чтобы изоляция не требовалась.