如何判断进程是否结束!!(急!!!

04-04-14 dongshaojie
请教大家下面的哪个“public boolean isRuning()”方法要怎么实现!就是判断这个游戏是否还在执行,还是已经结束!主要就是判断“process”这个进程是否结束!晕啊!!

public class Game {

private Process process = null;

public Game() {

}

/**

* 执行这个游戏

*/

public void startGame(){

try {

process = Runtime.getRuntime().exec(this.exePath);

}

catch (Exception ex) {

ex.printStackTrace();

}

}

/**

* 判断这个程序是否在运行

* @return

*/

public boolean isRuning(){

}

}

wildfox
2004-04-20 10:56
是否可以采用类似Observer 模式来处理

Game 类作为一个主题,而另外一个Observer来记录所有game的运行情况,每一个Game 在实例化的时候产生一个唯一的标识,然后再运行时、运行结束后在Observer中登记运行状态,Observer 中可以用HashMap来存放Games的运行状态 map.put(game.getID, game.status)

如下面

构造方法中

public Game() {

//产生一个唯一ID

}

public void startGame(){

try {

//notify observer:Game(ID) is Stated....

process = Runtime.getRuntime().exec(this.exePath);

process.waitFor(); //wait the process to terminate

//notify observer: Game(ID) is terminated

}

catch (Exception ex) {

//notify observer:Game(ID) is terminated

ex.printStackTrace();

}

}

/**

* 判断这个程序是否在运行

* @return

*/

public boolean isRuning(){

//get the status of the Game(ID) from observer

}

猜你喜欢