>>分享Java编程技术,对《Java面向对象编程》等书籍提供技术支持 书籍支持  卫琴直播  品书摘要  在线测试  资源下载  联系我们
发表一个新主题 开启一个新投票 回复文章 您是本文章第 28808 个阅读者 刷新本主题
 * 贴子主题:  Java线程实现龟兔赛跑 回复文章 点赞(0)  收藏  
作者:flybird    发表时间:2021-02-25 01:10:18     消息  查看  搜索  好友  邮件  复制  引用

    

1.定义一个实体类

实现callable接口


class Ract implements Callable<Integer>{

    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<Integer> submit = pool.submit(ract);
        Future<Integer> 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();
    }

  结果

点击在新窗口中浏览原图
CTRL+鼠标滚轮放大或缩小

----------------------------
原文链接:https://www.jianshu.com/p/696895a4680b



程序猿的技术大观园:www.javathinker.net
  Java面向对象编程-->输入与输出(上)
  JavaWeb开发-->类的生命周期
  JSP与Hibernate开发-->JSP中使用JavaBean(Ⅰ)
  Java网络编程-->自定义JSP标签(Ⅰ)
  精通Spring-->
  Vue3开发-->JPA API的高级用法
  10道Java编程基础练习题
  JDK17的新特性
  NIO底层原理
  [讨论]书中多线程章节的语言表述有误?
  面试问我,创建多少个线程合适?我该怎么说
  Java是如何实现自己的SPI机制的?
  Java异常堆栈信息以字符串形式输出
  JAVA常用数据结构
  Eclipse使用指南:快速修复功能
  Eclipse使用指南:工作空间(Workspace)
  Java设计模式:迭代器模式
  Java入门实用代码:打印矩形
  通过Java读取Excel数据
  【Java 并发笔记】CountDownLatch 相关整理
  初学者该学哪种编程语言
  更多...
 IPIP: 已设置保密
楼主      
1页 0条记录 当前第1
发表一个新主题 开启一个新投票 回复文章


中文版权所有: JavaThinker技术网站 Copyright 2016-2026 沪ICP备16029593号-2
荟萃Java程序员智慧的结晶,分享交流Java前沿技术。  联系我们
如有技术文章涉及侵权,请与本站管理员联系。