如何使Web请求等待特定时间间隔?

时间:2012-01-03 11:31:15

标签: google-app-engine gwt restlet

我创建了一个包含GET方法的Restlet服务。当在这个GET方法上发生调用时,我希望请求等到我的一个布尔变量变为真。 (我认为计时器不是一个好的解决方案,因为它是异步的)。 GWT上有哪些功能?

1 个答案:

答案 0 :(得分:1)

如果你真的想这样做,那么只需要同步访问布尔变量,等待10秒:

private static boolean status;

private final Object lock = new Object();

public void setStatus(boolean newStatus) {
    synchronized(lock) {
        this.status = newStatus;
        if (this.status) {
            lock.notifyAll();
        }
    }
}

public boolean getTrueStatusOrBlock() throws InterrupedException {
    synchronized(lock) {
        if (status) {
            return true;
        }
        lock.wait(10000L);
        return status;
    }
}