目前的代码:
// Calculate the new lines to draw
Timer timer3 = new Timer();
timer3.schedule(new TimerTask(){
public void run(){
ArrayList<String> Coords = new ArrayList<String>();
int x = Float.valueOf(lastFour[0]).intValue();
int y = Float.valueOf(lastFour[1]).intValue();
int x1 = Float.valueOf(lastFour[2]).intValue();
int y1 = Float.valueOf(lastFour[3]).intValue();
//Could be the wrong way round (x1,y1,x,y)?
Coords = CoordFiller.coordFillCalc(x, y, x1, y1);
String newCoOrds = "";
for (int j = 0; j < Coords.size(); j++)
{
newCoOrds += Coords.get(j) + " ";
}
newCoOrds.trim();
ClientStorage.storeAmmendedMotion(newCoOrds);
}
}
,time);
Future.get(1, TimeUnit.SECOND)
,在一秒钟后它将抛出一个TimeoutException
并且关联任务的执行将会被终止。不过我还没有验证过。 - Péter TörökFuture.get(1, TimeUnit.SECOND)
时出现的超时对底层任务没有任何影响。 "不耐烦的调用者"会收到一个TimeoutException
,因此它可以做其他事情,但仅限于此。 - maaartinus