【Java】多线程之实现Runnable接口
2025-02-25 08:57:55 阅读次数:8
日常
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://blog.51cto.com/reliableyang/5651702,作者:靠谱杨的挨踢IT生活,版权归原作者所有。本网站转在其作品的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如因作品内容、版权等问题需要同本网站联系,请发邮件至ctyunbbs@chinatelecom.cn沟通。
上一篇:【Java面试题】Spring
下一篇:Python 之父的解析器系列之五:左递归 PEG 语法