gpt4 book ai didi

java - 我们应该如何在java多线程代码中使用JPMML评估器的modelEvaluator?

转载 作者:行者123 更新时间:2023-11-30 07:06:33 27 4
gpt4 key购买 nike

我正在使用 JPMML Evaluator 库,PMML 实例对于所有评估器都是通用的,它会阻止评估器并创建锁定。以多线程方式处理时。

//single threaded

PMML pmml = <new pmml>

//multithreaded
ModelEvaluator<MiningModel> someModelEvaluatorThread = new MiningModelEvaluator(genderPmml);

它会起作用还是会影响性能。我没有创建特定于 pmml 线程,因为我不想一次又一次地解析同一个文件。

最佳答案

JPMML-Evaluator 库的 README.md 文件显示:

Model evaluator classes follow functional programming principles and are completely thread safe.

如果您在所有线程之间共享相同的模型评估器实例,或者为每个线程创建一个单独的模型评估器实例,这并不重要 - 它们都会相处得很好。可变状态封装在 org.jpmml.evaluator.EvaluationContext 对象实例中,该实例对于每个评估请求都是“私有(private)的”。

此外,JPMML-Evaluator 库不包含任何同步代码块,并且不使用任何锁定机制。当您启动更多线程时,应用程序的吞吐量应该线性增加。

关于java - 我们应该如何在java多线程代码中使用JPMML评估器的modelEvaluator?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40024148/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com