多執行緒實現龜兔賽跑
龜兔賽跑例項
思考步驟:
-
首先來一個賽道距離,然後離終點越來越近
-
判斷比賽是否結束
-
打印出勝利者
-
龜兔賽跑開始
-
故事中是烏龜贏得,兔子需要睡覺,所以我們來模擬兔子睡覺
-
終於,烏龜贏得了比賽
程式碼實現
package com.wang1.demo01;
//模擬龜兔賽跑
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("兔子")&& i%10==0){
try {
Thread.sleep(3);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
//判斷比賽是否結束
boolean flag=gameOver(i);
if(flag){
break;
}
System.out.println(Thread.currentThread().getName()+"-->跑了"+i+"步");
}
}
//判斷是否完成比賽
private boolean gameOver(int steps){
//判斷是否有勝利者
if(winner!=null){//已經出現了勝利者
return true;
}{
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();
}
}
相關推薦
多執行緒實現龜兔賽跑
龜兔賽跑例項 思考步驟: 首先來一個賽道距離,然後離終點越來越近 判斷比賽是否結束
Java實現多執行緒模擬龜兔賽跑
Java多執行緒模擬龜兔賽跑,供大家參考,具體內容如下 筆者利用Java多執行緒技術,將兔子和烏龜的跑步以兩個執行緒的方式模擬出來,以達到一個初步的效果。
Java模擬多執行緒實現搶票程式碼例項
這篇文章主要介紹了Java模擬多執行緒實現搶票,文中通過示例程式碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
使用Python paramiko模組利用多執行緒實現ssh併發執行操作
1.paramiko概述 ssh是一個協議,OpenSSH是其中一個開源實現,paramiko是Python的一個庫,實現了SSHv2協議(底層使用cryptography)。
python執行緒安全及多程序多執行緒實現方法詳解
程序和執行緒的區別 程序是對執行時程式的封裝,是系統資源排程和分配的基本單位
python多執行緒實現TCP服務端
本文例項為大家分享了python多執行緒實現TCP服務端的具體程式碼,供大家參考,具體內容如下
python多執行緒實現程式碼(模擬銀行服務操作流程)
1.模擬銀行服務完成程式程式碼 目前,在以銀行營業大廳為代表的視窗行業中大量使用排隊(叫號)系統,該系統完全模擬了人群排隊全過程,通過取票進隊、排隊等待、叫號服務等功能,代替了人們站隊的辛苦。
Java併發程式設計之常用的多執行緒實現方式分析
本文例項講述了Java併發程式設計之常用的多執行緒實現方式。分享給大家供大家參考,具體如下:
php使用pthreads v3多執行緒實現抓取新浪新聞資訊操作示例
本文例項講述了php使用pthreads v3多執行緒實現抓取新浪新聞資訊。分享給大家供大家參考,具體如下:
Python多執行緒實現支付模擬請求過程解析
思路: 佇列使用說明: multiprocessing.Queue()#用於程序間通訊,單主程序與子程序無法通訊(使用程序池時儘量不要使用這個)
簡單瞭解Java多執行緒實現的四種方式
第一種方式為繼承Thread類然後重寫run方法再呼叫start方法,因為java為單繼承多實現,所以不建議使用這種方式,程式碼如下:
python多執行緒實現同時執行兩個while迴圈的操作
如果想同時執行兩個while True迴圈,可以使用多執行緒threading來實現。 完整程式碼
Java多執行緒實現四種方式原理詳解
1.繼承Thread類,重寫run方法 2.實現Runnable介面,重寫run方法,實現Runnable介面的實現類的例項物件作為Thread建構函式的target
Java Lambda表示式原理及多執行緒實現
1、使用Lambda表示式實現多執行緒 public static void main(String[] args) { //使用匿名內部類的方式,實現多執行緒
多執行緒模擬龜兔賽跑
多執行緒模擬龜兔賽跑 //勝利者 private static String winner; @Override public void run() { for (int i = 0; i <= 100; i++) {
java利用多執行緒實現生產者和消費者功能————美的掉渣的程式碼
1.使用wait()/notifyAll實現生產者和消費者 1 /** 2* 鎖物件類 3* 協作類 4*/ 5 public class MyQueue {
Java多執行緒實現方塊賽跑小遊戲
本文例項為大家分享了Java實現方塊賽跑小遊戲的具體程式碼,供大家參考,具體內容如下
多執行緒 實現高效多借口呼叫
正常情況下我們呼叫多借口,都會順序呼叫,也就是序列,如果藉口直接沒有任何關係,而序列執行消耗的時間,就是各個藉口直接呼叫的總和。而jdk其實給我們提供有返回值型別執行緒,可以解決這個問題。
Java 多執行緒實現多視窗同時售票簡單功能
1 package day162020072701.day1603; 2 3 import java.util.concurrent.locks.Lock; 4 import java.util.concurrent.locks.ReentrantLock;
【轉】Java多執行緒實現的四種方式
Java多執行緒實現方式主要有四種: 繼承Thread類 實現Runnable介面、 實現Callable介面通過FutureTask包裝器來建立Thread執行緒、