使用 ProcessBuilder 从 JAVA 中运行外部 C 代码。(编译的)C 代码需要大约 1 秒才能产生输出 - 相对较慢。
我注意到的是,在 C 代码完成之前,BufferedReader Readline 似乎是相当 CPU 密集型的。而且由于我必须每 5 秒运行一次外部 C 代码,因此 CPU 利用率会增加。这是readline代码:
BufferedReader br = null;
try {
br = new BufferedReader(new InputStreamReader(in));
String line = null;
while ( (line = br.readLine()) != null) {
this.pw.add(line);
}
} catch (Exception e) {
e.printStackTrace();
} finally {
try {
br.close();
} catch (IOException e) {
e.printStackTrace();
}
}
我可以发布整个代码 - 但是,它与您在此页面上看到的非常相似。
有什么建议吗?