Java timer

来源:百度知道 编辑:UC知道 时间:2024/05/28 14:20:22
我想做个程序,每隔1秒发送一个UDP的固定的 package。但同时那个socket也要接受别的地方发来的UDP 的package,然后到30秒的时候把接受到的package打印出来,请问如何做那个timer的东西
。。
我想的是
while(true){
while(not 30 seconds){
socket.send(package)
while(not 1 seconde){
socket.receive(receive);//之后store到XXX里面
}
}
print XXX
}
但具体怎么弄那个time的condition不会,想请教下。。。
希望我把问题说清楚了 = =

给你一个JAVA timer的例子,这是我以前开发一款游戏的timer timerCoontainer的代码这里就不贴了。
import java.util.TimerTask;

public class GameTimer extends TimerTask {

public void run() {//在这里添加计时的动作
TimerContainer.getIntance().execAction();

}

}
public class GameTimerStart {
public static void start(){//开始计时器。控制计时动作的执行 start the GameTimer
Timer timer=new Timer();
timer.schedule(new GameTimer(), 2000, 50000);
}

}

当然了如果用UDP发包,一般都会写成多线程的,这里你可以用sleep()方法,但是这样执行的结果不是严格的每一秒都发一个包,这是由JAVA多线程的特点决定的