多线程---join---模拟打麻将

2024-04-07 15:18

本文主要是介绍多线程---join---模拟打麻将,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

join //加入,让线程加入到当前线程.

public final void join()

多线程join 方法

void join() 等待该线程终止。

void join(long millis) 等待该线程终止的时间最长为millis 毫秒。

特点:当A 线程走到B 线程的join 方法时,A 就会等待B 线程都执行完,A 才会执行

作用: join 可以用来临时加入线程执行;


需求:模拟打麻将

package java.thread;/***join		//加入,让线程加入到当前线程.*/
public class ThreadJoinDemo {public static void main(String[] args) {Player p1 = new Player("张三",1);Player p2 = new Player("李四", 3);Player p3 = new Player("王五", 5);Player p4 = new Player("赵六", 6);p1.start();p2.start();p3.start();p4.start();try {p1.join();p2.join();p3.join();p4.join();} catch (InterruptedException e) {e.printStackTrace();}System.out.println("开局");}}class Player extends Thread{private  String name0;private  int sleep;public String getName0() {return name0;}public void setName0(String name0) {this.name0 = name0;}public int getSleep() {return sleep;}public void setSleep(int sleep) {this.sleep = sleep;}public Player(String name0, int sleep) {this.name0 = name0;this.sleep = sleep;}@Overridepublic void run() {try {System.out.println(name0+"出发了");Thread.sleep(sleep*1000);System.out.println(name0 + "到了"+"耗时"+sleep+"秒");} catch (InterruptedException e) {e.printStackTrace();}}
}

模拟结果:

张三出发了
李四出发了
赵六出发了
王五出发了
张三到了耗时1秒
李四到了耗时3秒
王五到了耗时5秒
赵六到了耗时6秒
开局

这篇关于多线程---join---模拟打麻将的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/882948

相关文章

使用Python实现可恢复式多线程下载器

《使用Python实现可恢复式多线程下载器》在数字时代,大文件下载已成为日常操作,本文将手把手教你用Python打造专业级下载器,实现断点续传,多线程加速,速度限制等功能,感兴趣的小伙伴可以了解下... 目录一、智能续传:从崩溃边缘抢救进度二、多线程加速:榨干网络带宽三、速度控制:做网络的好邻居四、终端交互

SQL中JOIN操作的条件使用总结与实践

《SQL中JOIN操作的条件使用总结与实践》在SQL查询中,JOIN操作是多表关联的核心工具,本文将从原理,场景和最佳实践三个方面总结JOIN条件的使用规则,希望可以帮助开发者精准控制查询逻辑... 目录一、ON与WHERE的本质区别二、场景化条件使用规则三、最佳实践建议1.优先使用ON条件2.WHERE用

Mybatis Plus Join使用方法示例详解

《MybatisPlusJoin使用方法示例详解》:本文主要介绍MybatisPlusJoin使用方法示例详解,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,... 目录1、pom文件2、yaml配置文件3、分页插件4、示例代码:5、测试代码6、和PageHelper结合6

java String.join()方法实例详解

《javaString.join()方法实例详解》String.join()是Java提供的一个实用方法,用于将多个字符串按照指定的分隔符连接成一个字符串,这一方法是Java8中引入的,极大地简化了... 目录bVARxMJava String.join() 方法详解1. 方法定义2. 基本用法2.1 拼接

Python使用pynput模拟实现键盘自动输入工具

《Python使用pynput模拟实现键盘自动输入工具》在日常办公和软件开发中,我们经常需要处理大量重复的文本输入工作,所以本文就来和大家介绍一款使用Python的PyQt5库结合pynput键盘控制... 目录概述:当自动化遇上可视化功能全景图核心功能矩阵技术栈深度效果展示使用教程四步操作指南核心代码解析

python多线程并发测试过程

《python多线程并发测试过程》:本文主要介绍python多线程并发测试过程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、并发与并行?二、同步与异步的概念?三、线程与进程的区别?需求1:多线程执行不同任务需求2:多线程执行相同任务总结一、并发与并行?1、

Python模拟串口通信的示例详解

《Python模拟串口通信的示例详解》pySerial是Python中用于操作串口的第三方模块,它支持Windows、Linux、OSX、BSD等多个平台,下面我们就来看看Python如何使用pySe... 目录1.win 下载虚www.chinasem.cn拟串口2、确定串口号3、配置串口4、串口通信示例5

Python多进程、多线程、协程典型示例解析(最新推荐)

《Python多进程、多线程、协程典型示例解析(最新推荐)》:本文主要介绍Python多进程、多线程、协程典型示例解析(最新推荐),本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定... 目录一、multiprocessing(多进程)1. 模块简介2. 案例详解:并行计算平方和3. 实现逻

MySQL 多表连接操作方法(INNER JOIN、LEFT JOIN、RIGHT JOIN、FULL OUTER JOIN)

《MySQL多表连接操作方法(INNERJOIN、LEFTJOIN、RIGHTJOIN、FULLOUTERJOIN)》多表连接是一种将两个或多个表中的数据组合在一起的SQL操作,通过连接,... 目录一、 什么是多表连接?二、 mysql 支持的连接类型三、 多表连接的语法四、实战示例 数据准备五、连接的性

MySQL高级查询之JOIN、子查询、窗口函数实际案例

《MySQL高级查询之JOIN、子查询、窗口函数实际案例》:本文主要介绍MySQL高级查询之JOIN、子查询、窗口函数实际案例的相关资料,JOIN用于多表关联查询,子查询用于数据筛选和过滤,窗口函... 目录前言1. JOIN(连接查询)1.1 内连接(INNER JOIN)1.2 左连接(LEFT JOI