【Java】多线程之实现Runnable接口
1 /**
2 *
3 */
4 package com.raliable.chapter_0;
5 /**
6 * @author : Administrator
7 * @date :2022年4月30日 下午5:23:22
8 *
9 */
10 /**
11 * @author Administrator
12 * 1.实现Runnable接口,重写run方法
13 * 2.实例化多线程类,多个多线程对象传入不同的线程
14 * 3.new Thread(race,"乌龟").start();
15 */
16 public class Race implements Runnable {
17 private String winner;
18 /* (非 Javadoc)
19 * @see java.lang.Runnable#run()
20 */
21 @Override
22 public void run() {
23 // TODO 自动生成的方法存根
24 for (int i = 0 ;i <= 300;i++)
25 {
26 // 模拟兔子休息
27 // if(Thread.currentThread().getName().equals("兔子") && (i%10==0)) {
28 // try {
29 // Thread.sleep(5);
30 // } catch (InterruptedException e) {
31 // // TODO 自动生成的 catch 块
32 // e.printStackTrace();
33 // }
34 // }
35 // 判断比赛是否结束!
36 boolean flag = gameOver(i);
37 if (flag) {
38 break;
39 }
40
41 System.out.println(Thread.currentThread().getName()+"跑了--->"+i+"步!");
42
43 }
44 }
45 // 判断比赛是否结束
46 private boolean gameOver(int steps) {
47 if (winner!=null) {
48 return true;
49 }{
50 if (steps >= 300) {
51 winner = Thread.currentThread().getName();
52 System.out.println("胜利者是:"+winner);
53 return true;
54 }
55 }
56 return false;
57 }
58
59 public static void main(String[] args) {
60 Race race = new Race();
61 new Thread(race,"乌龟").start();
62 new Thread(race,"兔子").start();
63 }
64 }
好看请赞,养成习惯:) 本文来自博客园,作者:靠谱杨, 转载请注明原文链接:https://www.cnblogs.com/rainbow-1/p/16210851.html
欢迎来我的51CTO博客主页踩一踩 我的51CTO博客
文章中的公众号名称可能有误,请统一搜索:靠谱杨的秘密基地