【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 }

【Java】多线程之实现Runnable接口的更多相关文章
- Java多线程之实现Runnable接口
package org.study2.javabase.ThreadsDemo.runnable; /** * @Auther:GongXingRui * @Date:2018/9/18 * @Des ...
- (CSDN迁移) JAVA多线程实现-实现Runnable接口
实现Runnable接口 implements Runnable 重写run()方法 @Override public void run(){//TODO} 创建线程对象: Thread threa ...
- “全栈2019”Java多线程第三章:创建多线程之实现Runnable接口
难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 IntelliJ IDEA v2018.3 文章原文链接 "全栈2019"Java多 ...
- Java之多线程(实现Runnable接口)
package test_demo.ThreadsDemo; public class TestRunnable { public static void main(String[] args) { ...
- 多线程之实现Runnable接口及其优点
多线程之实现Runnable接口: 1.创建一个Runnable接口的实现类 2.在实现类中重写Runnable接口的run方法 3.创建一个Runnable接口实现类的对象 4.创建Thread类对 ...
- java:多线程基础之Runnable、Callable与Thread
java.lang包下有二个非常有用的东西:Runnable接口与Thread类,Thread实现了Runnable接口(可以认为Thread是Runnable的子类),利用它们可以实现最基本的多线程 ...
- java多线程创建-Thread,Runnable,callable和threadpool
java创建多线程的方式有许多种,这里简要做个梳理 1. 继承Thread类 继承java.lang.Thread类,创建本地多线程的类,重载run()方法,调用Thread的方法启动线程.示例代码如 ...
- java多线程(二)-Runnable和Thread
Java在顺序性语言的基础上提供了多线程的支持.Java的线程机制是抢占式的.这表示调度机制会周期的中断线程,将上下文切换到另一个线程,从而为每个线程都提供时间片.(与抢占式多线程对应的是 协作式多线 ...
- JAVA多线程Thread VS Runnable详解
要求 必备知识 本文要求基本了解JAVA编程知识. 开发环境 windows 7/EditPlus 演示地址 源文件 进程与线程 进程是程序在处理机中的一次运行.一个进程既包括其所要执行的指令,也 ...
- Java多线程中的Runnable和Thread
摘要: 在java中可有两种方式实现多线程,一种是继承Thread类,一种是实现Runnable接口:Thread类是在java.lang包中定义的.一个类只要继承了Thread类同时覆写了本类中的r ...
随机推荐
- Java并发编程实例--20.使用Semaphores(信号量)控制资源的并发读取
前面我们介绍了2种同步机制: 1)使用synchronized关键字 2)使用Lock接口及其实现类: ReentrantLock,ReentrantReadWriteLock.ReadLock, a ...
- TCP/IP的确认号,序列号和超时重传的学习笔记
一:确认应答和序列号 在tcp中,发送端的数据到达主机时,接收端会返回一个已收到的通知.这个消息叫做确认应答(ACK). 当发送端发送数据后,会等待对端的确认应答.如果有确认应答,说明数据已经成功到达 ...
- 【Android逆向】反调试绕过
1. 拿到52pojie的反调试挑战apk 链接: https://www.52pojie.cn/thread-742686-1-1.html 的附件中 2. 项目进行安装,点开app,同时挑战成功, ...
- 如何保证消息顺序执行(Rabbitmq/kafka)
转载: https://www.cnblogs.com/-wenli/p/13047059.html https://www.jianshu.com/p/02fdcb9e8784
- DataGear 自定义数据可视化看板的图表主题
DataGear 看板的 dg-chart-theme 属性,提供了简单且强大的自定义图表主题功能. 通常,只需要设置其color.backgroundColor.actualBackgroundCo ...
- 【Azure Redis 缓存】Redis导出数据文件变小 / 在新的Redis复原后数据大小压缩近一倍问题分析
问题描述 使用 Azure Cache for Redis 服务,在两个Redis服务之间进行数据导入和导出测试.在Redis中原本有7G的数据值,但是导出时候发现文件大小仅仅只有30MB左右,这个压 ...
- Kubernetes:Pod 端口映射
本文为作者的 Kubernetes 系列电子书的一部分,电子书已经开源,欢迎关注,电子书浏览地址: https://k8s.whuanle.cn[适合国内访问] https://ek8s.whuanl ...
- [逆向] FS寄存器
偏移 说明 00 指向SEH链表指针 04 线程堆栈顶部(地址最小) 08 线程堆栈底部(地址最大) 0c SubSystemTib 10 FiberData 14 ArbitraryUserPoin ...
- 批量删除mysql库中数据
-- 查询构建批量删除表语句(根据数据库名称) select concat('delete from ', TABLE_NAME, ' where org_id = "<条件id> ...
- PhpStorm设置FTP功能
1.版本介绍 本文操作针对PhpStorm 2020.1版本 2.[ctrl + alt + s]打开设置,选择"Build,Execution,Deployment" 3.选择& ...