ProcessBuilder を使用して、JAVA 内から外部 C コードを実行します。(コンパイルされた) C コードは、出力を生成するのに約 1 秒かかります - 比較的遅いです。
私が気づいたのは、C コードが完了するまで、BufferedReader Readline がかなり CPU を集中的に使用しているように見えることです。また、外部 C コードを 5 秒ごとに実行する必要があるため、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();
}
}
コード全体を投稿できますが、このページに表示されているものと非常によく似ています。
何かアドバイス?