首页 > 其他分享 >多线程 龟兔赛跑案例

多线程 龟兔赛跑案例

时间:2023-02-22 20:01:53浏览次数:41  
标签:赛跑 龟兔 return currentThread Thread winner 多线程 public

package com.Java;

public class Race implements Runnable{
// 胜利者
private static String winner;
@Override
public void run() {
for (int i = 0; i <=100; i++) {
//如果是兔子就放慢速度
if (Thread.currentThread().getName().equals("兔子")){
try {
Thread.sleep(1);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
boolean lag = gameOver(i);
if(lag){
break;
}
System.out.println(Thread.currentThread().getName()+"-->跑了"+i+"米");

}
}

// 判断比赛是否完成
public boolean gameOver(int steps){
if(winner!=null){//已经有胜利者了
return true;
}
//当有人跑到100米时 比赛完成
if (steps>=100){
winner = Thread.currentThread().getName();
System.out.println("winner is:"+winner);
return true;
}
return false;
}
//开启多线程
public static void main(String[] args) {
Race race = new Race();
new Thread(race,"兔子").start();
new Thread(race,"乌龟").start();
}
}

标签:赛跑,龟兔,return,currentThread,Thread,winner,多线程,public
From: https://www.cnblogs.com/fc666/p/17145670.html

相关文章

  • java多线程:详解JUC
    对应狂神说JUC视频1.JUC是什么java.util下的几个包的简称涉及到多线程的开发java.util.concurrentjava.util.atomicjava.util.concurrent.locks2.线程和进程进程:多个程序......
  • Java的多线程+Socket
    客户端: packagecom.wulala;importjava.io.FileOutputStream;importjava.io.IOException;importjava.io.InputStream;importjava.io.OutputStream;importjava.net......
  • 龟兔赛跑代码实现
    赛道相当于一个资源,乌龟和兔子相当于两个线程,多线程共用一个资源packagecom.demo01;publicclassRaceimplementsRunnable{privatestaticStringwinner;......
  • Python 多线程中的 Join Lock 和 Event
    Join函数的作用Join函数的作用主要是提供当前线程阻塞,等待线程结束后,在执行下一个线程,保护线程通畅有序执行如下当没有使用join时,主线程结束了子线程还在运行defd......
  • 【多线程】定位线程死锁
    定位线程死锁的方式jstackpid使用arthas写一个死锁的小例子importjava.util.concurrent.ArrayBlockingQueue;importjava.util.concurrent.CountDownLatch;imp......
  • Java多线程技能-线程的启动
    java多线程技能技术点:线程的启动如何使线程暂停如何使线程停止线程的优先级线程安全相关的问题进程和线程的定义及多线程的优点进程:进程是受操作系统管理的基本......
  • Redis IO多线程的简要测试结果
    RedisIO多线程的简要测试结果摘要最近想简单确认一下IO多线程的对吞吐量的提升情况.正好手头有鲲鹏的机器,所以想直接进行一下验证顺便用一下4216进行一下对比.......
  • 继承Thread开启多线程下载图片(不推荐,java的单一继承性)
    packagecom.Java;importorg.apache.commons.io.FileUtils;importjava.io.File;importjava.io.IOException;importjava.net.URL;//练习多线程Thread,实现多线程下载图片......
  • 【多线程】高并发之——SimpleDateFormat类的线程安全问题和解决方案
    关于SimpleDateFormat熟悉Java的同学知道这个类是线程不安全的,但究竟是怎样不安全法,什么原因产生的线程不安全?估计未必全部人都能够答得上来(我也不能,emmmm)呃,想更好地......
  • Python的多进程和多线程
    前言:为什么有人说Python的多线程是鸡肋,不是真正意义上的多线程? 看到这里,也许你会疑惑。这很正常,所以让我们带着问题来阅读本文章吧。问题:1.什么是python......