gpt4 book ai didi

java - 从java启动一个exe

转载 作者:搜寻专家 更新时间:2023-11-01 03:27:37 29 4
gpt4 key购买 nike

我理解以下是从 java 启动 exe 的典型代码

Runtime rt = Runtime.getRuntime();
Process proc = rt.exec("some.exe");

或带参数

Process process = new ProcessBuilder("some.exe","param1","param2").start();

我有一个包含 exe 的 Web 应用程序,用户可以根据要求执行这些应用程序。据我了解,上述两种方法总是会针对每个请求创建一个新流程。我想避免这种情况。

有没有办法,我保留一个可重用加载实例池,并在典型的并发场景中使用它们。我希望避免每个用户请求都启动一个新进程的情况。

最佳答案

这取决于some.exe 是否支持这个。例如,命令 ls(或 dir)执行它的任务并停止。没有办法告诉它“再做一次”——你需要一种与进程通信的方式,并且进程必须有一些接口(interface)(通常是 stdio),你可以用它来远程控制它。

如果您的外部进程不能这样做,那么您必须为每个请求创建一个新进程,或者您必须在其他地方运行该进程并将结果保存在缓存中一段时间​​,所以几个用户请求获得相同的数据,而无需您运行该过程。

因此,如果每个用户每分钟收到 100 个请求,并且数据保留一分钟没有问题,那么您可以每分钟运行一次该过程并重用旧结果。

关于java - 从java启动一个exe,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9277528/

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