我想实现如下功能:
一个服务端一个客户端,在客户端显示一些信息,信息的来源是从服务端获得,我在向服务端发消息的时候会防止用户离开该页面,把该页面的所有功能都锁上来。只有接收到回来的信息显示在页面上才可以解锁,但是要是没有收到服务端的信息的话就永远锁上了,我想做一个时间判断,当时间超过15秒后,就自动解锁。当在15秒之内返回消息就停止时间判断。但是我不知道如何停止这个时间判断
import java.util.Timer;
import java.util.TimerTask;public class OverTimer {
private final Timer timer = new Timer();
private final int miao; public OverTimer (int miao) {
this.miao = miao;
} public void start() {
timer.schedule(new TimerTask() {
public void run() {
playSound();
timer.cancel();
}
private void playSound() {
System.out.println("解锁!");
}
}, miao * 1000);
} public static void main(String[] args) {
OverTimer eggTimer = new OverTimer(15);
eggTimer.start();
}}
或者有别的什么更简单的方法?
一个服务端一个客户端,在客户端显示一些信息,信息的来源是从服务端获得,我在向服务端发消息的时候会防止用户离开该页面,把该页面的所有功能都锁上来。只有接收到回来的信息显示在页面上才可以解锁,但是要是没有收到服务端的信息的话就永远锁上了,我想做一个时间判断,当时间超过15秒后,就自动解锁。当在15秒之内返回消息就停止时间判断。但是我不知道如何停止这个时间判断
import java.util.Timer;
import java.util.TimerTask;public class OverTimer {
private final Timer timer = new Timer();
private final int miao; public OverTimer (int miao) {
this.miao = miao;
} public void start() {
timer.schedule(new TimerTask() {
public void run() {
playSound();
timer.cancel();
}
private void playSound() {
System.out.println("解锁!");
}
}, miao * 1000);
} public static void main(String[] args) {
OverTimer eggTimer = new OverTimer(15);
eggTimer.start();
}}
或者有别的什么更简单的方法?
public static void main(String[] args)
{
timertask tt= new timertask();
Timer timer=new Timer();
timer.schedule(tt,15000);
}
class timertask extends TimerTask
{
public void run()
{//你的操作 }
}关键是timer.schedule(tt,15000);
15000就是15000毫秒
因为线程运行起来了 突然把时间变为0会不会有影响
http://www.tech521.com/autoGenFile/techData/21/2176.htm