Java实现龟兔赛跑

1.定义一个实体类

实现callable接口

class Ract implements Callable{

private String name;//姓名

private long time;//延时时间

private boolean flag = true; // 标记

private int step = 0 ;//步数

public Ract(String name, long time) {

super();

this.name = name;

this.time = time;

}

@Override

public Integer call() throws Exception {

while(flag){//当标记为true的时候,会一直走

Thread.sleep(time);//每隔多长时间走一步

step ++ ;

}

return step;

}

创建主线程

public static void main(String args[]) throws InterruptedException, ExecutionException{

//创建一个定长的线程池

ExecutorService pool = Executors.newFixedThreadPool(2);

Ract ract = new Ract("乌龟",1000);

Ract ract2 = new Ract("兔子",200);

Future submit = pool.submit(ract);

Future submit2 = pool.submit(ract2);

//设定时间为多长,时间到了,结束跑步

Thread.sleep(2000);

ract.setFlag(false);

ract2.setFlag(false);

Integer integer = submit.get();

Integer integer2 = submit2.get();

System.out.println("兔子走了:"+integer2+"步");

System.out.println("乌龟走了:"+integer+"步");

pool.shutdownNow();

}

  结果

----------------------------

原文链接:www.javathinker.net

你可能感兴趣的:(Java实现龟兔赛跑)