0

我有一个问题:我创建了一个实现 Callable 的任务。该任务有一个等待状态返回为假的任务。状态取决于服务器返回。我不知道服务器何时返回 false。所以我创建了一个名为 WaitForStatus 的任务,如下所示。如果状态为真,此任务将调用 Thread.sleep(); 只要状态为假,此任务就会完成。我能怎么做?

下面是我的代码:

class WaitForStatusTask implements Callable<String> {

    private long waitTime;
    private boolean status;

    public WaitForStatusTask(boolean _status, int timeInMillis){
        this.waitTime=timeInMillis;
        this.status = _status;
    }

    @Override
    public String call() throws Exception {
        while(status){
            System.err.println("wait..");
            Thread.sleep(waitTime);

        }

    return "task done";         

   }

}

你能帮我更正这段代码吗?

4

1 回答 1

-1

下面这段代码效率低下。等待/通知(或并发实用程序)将帮助您编写干净的代码。

while(status){
            System.err.println("wait..");
            Thread.sleep(waitTime);

        }
}

在 Future 上调用 get() 以等待任务完成的响应。

于 2014-10-26T11:37:57.313 回答