gpt4 book ai didi

java - 为同时运行的多个批处理文件创建共享内存

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

我正在尝试通过批处理文件为不同的文件运行标记器。这是我的代码:

String runap1="cd spt1"+"\n"+"java -Xss8192K -Xms128m -Xmx640m -classpath stanford-postagger.jar edu.stanford.nlp.tagger.maxent.MaxentTagger -model models/bidirectional-wsj-0-18.tagger -textFile "+fff[g]+">tag\\"+r1+"\nexit" ;

FileWriter fw1 = new FileWriter("ac.bat");
BufferedWriter bw1 = new BufferedWriter(fw1);

bw1.write(runap1);
bw1.close();

Runtime rx = Runtime.getRuntime();
Process p = null;

try {
p = rx.exec("cmd.exe /c start ac.bat");
} catch(Exception e) {
System.out.println("Error");
} // TODO

try {
Thread.sleep(15000);
} catch (InterruptedException e) {
System.out.println("Thread interrupted");
}

这需要很长时间来处理,我的电脑挂了好几次。我想为标记器创建一个共享内存,只加载一次并且所有批处理文件都将使用该共享标记器;他们不应该每次都加载标记器。我该怎么做?

最佳答案

如果将数据存储在内存映射文件中,则可以跨进程多次加载它而无需额外的副本。您甚至可以在一个流程中进行更改,然后查看另一个流程中的更改。

问题是您必须使用堆外内存。如果数据文件已经是您可以使用的二进制形式,这最简单。也就是说,您不需要解析它。

关于java - 为同时运行的多个批处理文件创建共享内存,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17760335/

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