gpt4 book ai didi

java - 将流程对象存储在数据库中

转载 作者:太空宇宙 更新时间:2023-11-04 08:33:25 25 4
gpt4 key购买 nike

我在做

Process p = null;
if(CheckOS.isWindows())
p = rt.exec(filebase+port+"/hlds.exe +maxplayers "+players+ " -game cstrike -console +port "+port+" -nojoy -noipx -heapsize 250000 +map de_dust2 +servercfgfile server.cfg +lservercfgfile +mapcyclefile mapcycle.txt +motdfile motd.txt +logsdir logs -zone 2048",null, new File(filebase+port)) ;

并且想将p存储在数据库中,但进程不可序列化,如何将其保存在数据库中?

我们可以检查进程p是否仍在运行或由于某些崩溃或其他原因而死亡

最佳答案

你绝对不能将进程本身存储在数据库中。但是,如果您试图保留进程以供将来使用(在虚拟机的范围内),那么您可以使用如下内容:

public class ProcessRegistry {

public static class Key {}

private static final ProcessRegistry INSTANCE = new ProcessRegistry();

public static ProcessRegistry getInstance() { return INSTANCE; }

private final Map<Object, Process> _processes = new HashMap<...>();

public Key registry(Process p) {
Key key = new Object();
_processes.put(key, p);
return key;
}

public Process lookup(Key key) {
return _processes.get(key);
}
}

您可以使用以下方式从任何地方(在类加载器的范围内)存储和查找

ProcessRegistry.getInstance().register(...)

等等

关于java - 将流程对象存储在数据库中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6960118/

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