多线程--Runnable接口方法
//Runnable接口避免单继承的局限性,方便一个对象被多个线程调用 //模拟龟兔赛跑 public class race implements Runnable{ //胜利者 private static String winner; //winner是一个常量,只能有一个,设置成静态的 @Override public void run(){ for (int i = 0; i <= 100; i++) { //模拟兔子休息 if(Thread.currentThread().getName().equals("兔子")&&1%10==0){ try{ Thread.sleep(10); }catch(InterruptedException e){ e.printStackTrace(); } } //判断比赛是否结束 boolean flag=gameOver(i); //如果比赛结束了,就结束程序 if(flag){ break; } System.out.println(Thread.currentThread().getName()+"-->跑了"+i+"步"); } } //判断是否赢了 public boolean gameOver(int step){ //判断是否存在胜利者 if(winner!=null){ //已经存在胜利者了 return true; }{ if(step>=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##学习路径#