runImplは、このコードが機能するにはブール値を返す必要があります。プログラムが終了するまで待たされたくない場合は、新しいスレッド(基本的なチュートリアルがたくさんあります)にこれを置いておきましょう。
public Response run(Request req){
long lasttime=Sys.getTime();
int i=0;
while(i<10){
if(Response res = runImpl(req);){
return response;
}
if((Sys.getTime-lasttime)>1000){
i++;
lasttime=Sys.getTime();
}
}
return null;
あなたはそれが10秒、使用のために実行しているだけでなく、間隔で実行したい場合、これは、すべてのプロセッサモーメントを実行します:
public Response run(Request req){
long lasttime=Sys.getTime();
int i=0;
for(int i; i<(10000/yourchoiceinterval); i++){
if(Response res = runImpl(req);){
return response;
}
if((Sys.getTime-lasttime)>1000){
lasttime=Sys.getTime();
}
}
return null;
スピードアップループの実装
を? http://thedailywtf.com/Articles/The-Speedup-Loop.aspx –
「指定された間隔で実行する」とはどういう意味ですか?その間隔内に完了すべきか?その間隔の後に戻る?その時間間隔の間に連続して呼び出されますか? –
ここで「中」という言葉を使うのは非常に混乱します。 –