我已经在 R 中训练了一个模型,并希望使用renjin在 servlet 中计算预测。预测总是使用相同的独特模型。
为了避免花费资源来实例化 renjin 并为每个请求加载相同的模型,我正在考虑实例化 renjin 并在一个单例对象中加载一次模型,当 servet 容器启动时(在 ServletContextListener 中)。
我的问题是:这样进行线程安全吗?当同时完成多个预测请求(使用在同一实例中加载的相同模型)时,它如何与 renjin 一起工作?这样做的正确方法是什么:我应该在 renjin 实例上使用锁来保证它的线程安全吗?还是创建一个线程池?