runImpl debería devolver un valor booleano para que este código funcione. Probablemente querrás esto en un nuevo hilo (abundan los tutoriales básicos) si no quieres que tu programa se estanque hasta que termine.
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;
Esto va en cada momento procesador, si desea que se ejecute en un intervalo además de correr durante 10 segundos, utilice:
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;
La implementación de una velocidad de hasta Loop? http://thedailywtf.com/Articles/The-Speedup-Loop.aspx –
¿Qué quiere decir con "ejecutar durante el intervalo especificado"? ¿Debería completarse dentro de ese intervalo? ¿Solo regresas después de ese intervalo? ¿Ser llamado continuamente durante ese intervalo? –
Su uso de la palabra "durante" aquí es muy confuso. –