我一直在尝试使用自定义 SecurityManager 来沙箱化一些外部加载的代码。我拥有的 SecurityManager 工作正常。我采取了与这里许多帖子建议的方法相同的方法:每当执行潜在危险代码时设置自定义管理器,然后恢复为标准管理器。这工作正常,做我想要的。但是,该应用程序是多线程的:2 个线程使用自定义管理器,1 个使用默认管理器。这会导致受信任代码可能无法正常运行,因为另一个线程只是设置了自定义安全管理器。有没有办法解决这个问题?或者,有更好的方法吗?我看到一些帖子谈论对同一个安全管理器使用不同的策略,但我找不到一个很好的例子。非常感谢任何帮助。