实验九 多线程的处理

  • 实验目的及要求

目的:理解线程的概念,掌握Java的多线程机制,会用多线程编写Java程序。

要求:

    1. 理解线程的概念
    2. 会用Thread类创建线程
    3. 会使用Runnable接口创建多线程
    4. 对两种实现多线程方式的方式进行对比
    5. 掌握线程的同步

二、实验环境

计算机一台,JDK,EditPlus

三、实验原理

Java语言中多线程处理的原理

四、实验内容与步骤

1.继承Thread类实现多线程,试着修改setName方法的位置,看看运行效果

2.实现Runnable接口实现多线程

3.多次运行以下程序,观察多个线程同时运行时的输出结果变化

4.用实现多线程技术来模拟铁路售票系统实现通过4个售票点发售某日某次列车的100张车票一个售票点用一个线程来表示。 比较下面两段代码的异同,并修改代码一实现100张票共享,修改后注意代码一和代码二的多次运行结果,看有没有什么问题存在?

代码一:

代码二:

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/53528.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Vue 中实现视频播放的艺术

随着前端技术的飞速发展,视频播放在 Web 应用中已经成为了一个不可或缺的功能。从社交媒体平台到教育网站,再到在线购物平台,视频元素无处不在。而 Vue.js 作为当今最流行的前端框架之一,在实现视频播放时提供了很多强大的工具和技…

项目日志——日志器模块的设计、同步日志器实现、测试

文章目录 日志器模块设计同步日志器实现测试 日志器模块 设计 日志器模块的主要功能就是将前面的所有模块进行整合,向外提供接口,完成不同等级日志的输出 需要管理的成员有 格式化模块的对象落地模块的对象组当前默认的输出等级互斥锁日志器名称各个…

Pygame中Sprite类实现多帧动画3-3

4 使用自定义类MySprite 使用自定义类MySprite实现多帧动画的步骤是首先创建MySprite类的实例,之后使用相关函数对该实例进行操作。 4.1 创建MySprite类的实例 创建MySprite类的实例的代码如图12所示。 图12 创建MySprite类的实例的代码 其中,变量dr…

TortoiseGit无法安装解决方案

Win11安装TortoiseGit报错,错误码:2503,如下图: 开始-右键-Windows PowerShell(管理员)/终端 (管理员) 输入 msiexec /package 安装程序所在绝对路径, 例如 : msiexec /package D:\我的资料…

利用鸢尾花数据集介绍PCA算法

PCA: 主成分分析(PCA, Principal Component Analysis)是一种常用的数据降维技术,它可以将高维数据转换为较低维数据,同时尽可能保留数据的主要信息。PCA通过寻找数据的主要方向,即方差最大的方向&#xff0…

小小GCD、LCM拿下拿下

目录 最大公约数(GCD) 最大公约数(GCD)求解: 一、辗转相除法 二、三目运算符 三、位运算 最大公约数(GCD)模板: 最大公约数(GCD)例题: 最…

stm32之硬件SPI读写W25Q64存储器应用案例

系列文章目录 1. stm32之SPI通信协议 2. stm32之软件SPI读写W25Q64存储器应用案例 3. stm32之SPI通信外设 文章目录 系列文章目录前言一、电路接线图二、应用案例代码三、应用案例代码分析3.1 基本思路3.2 相关库函数介绍3.3 MySPI模块3.3.1 模块初始化3.3.2 SPI基本时序单元模…

丰巢“闯关”港交所上市

社区中随处可见的智能快递柜,即将捧出一个IPO。 近日,丰巢控股有限公司(下称“丰巢控股”或“丰巢”)正式向港交所递交了招股书,华泰国际担任其独家保荐人。这将是继顺丰控股、顺丰房托、嘉里物流、顺丰同城之后&…

微服务CI/CD实践(六)Jenkins Docker 自动化构建部署Java微服务

微服务CI/CD实践系列: 微服务CI/CD实践(一)环境准备及虚拟机创建 微服务CI/CD实践(二)服务器先决准备 微服务CI/CD实践(三)gitlab部署及nexus3部署 微服务CI/CD实践(四&#xff09…

未来餐饮革命:加入我们的智能餐厅代理、自主开拓市场计划!

系统开发集成商:如果您正在开发智慧餐厅系统,忙于寻找各种消费终端接入、那么我们将可以为您提供整套智慧餐厅系统解决方案,从前厅消费到后厨的明厨亮灶的解决方案。 集团公司:想集团化控制子公司食堂运营,又想以最低…

【LeetCode每日一题】——LCR 168.丑数

文章目录 一【题目类别】二【题目难度】三【题目编号】四【题目描述】五【题目注意】六【题目示例】七【题目提示】八【解题思路】九【时间频度】十【代码实现】十一【提交结果】 一【题目类别】 优先队列 二【题目难度】 中等 三【题目编号】 LCR 168.丑数 四【题目描述…

uts+uniapp踩坑记录(vue3项目

杂记: web-view方面 内嵌html使用web-view时,直接用 uni.postMessage({data: {action: message // 你要传的信息}}); 示例上写的是用 document.addEventListener(UniAppJSBridgeReady, function() { uni.postMessage({ data: { action: postMe…

nohup与

在 Unix/Linux 系统中,nohup 命令和 & 符号都是用来在后台运行命令的工具,但它们有一些区别。 nohup nohup 命令允许你在终端关闭之后继续运行进程。通常情况下,当你退出终端会话时,正在运行的进程会被挂断(SIGH…

【大数据】Hadoop里的“MySQL”——Hive,干货满满

【大数据】Hadoop里的“MySQL”——Hive,干货满满 文章脉络 Hive架构 HQL 表类型 创建表语法 分区 数据导入导出 函数 内置函数 UDF Java Python 在阅读本文前,请确保已经对Hadoop的三大组件(HDFS、MapReduce、YARN)有…

分布式协调服务--ZooKeeper

文章目录 ZooKeeperzk的由来zk解决了什么问题 ZK工作原理ZK数据模型zk功能1.命名服务2.状态同步3.配置中心4.集群管理 zk部署单机启动zk验证zk zk集群集群角色选举过程1.节点角色状态2.选举ID3.具体过程4.心跳机制5.ZAB协议 ZooKeeper 选举示例1.第一轮投票:2.节点收…

以下是分析执行计划中索引使用情况的方法:

一、查看是否使用索引 执行计划通常会明确显示是否使用了索引。如果没有使用索引,可能会看到类似“全表扫描”的描述。例如: “TABLE ACCESS FULL (table_name)”表示对表进行了全表扫描,没有使用索引。 如果使用了索引,会有…

《React Native 应用开发最佳实践》

⭐️React Native 应用开发最佳实践⭐️ 近年来,React Native 应用开发因其能够使用 JavaScript 构建原生移动应用的能力而大受欢迎。它提供了跨平台兼容性、更快的开发时间以及更易于维护的特性,成为了许多开发者的首选。然而,要确保 React…

Unity TextMeshPro 设置竖排

默认竖排是这样的 但是我们要的竖排效果并不是这样我们要是竖排连续的根据文本限制来进行换行 第一步我们先设置文本的旋转Z轴为90如下图 然后我们给文本加一个Tag <rotate270> 如下图 但是这个效果还是不是我们想要的效果我们可以使用TexeMeshPro提供的一个选项EnableR…

Python画笔案例-041 绘制正方形阶梯

1、绘制正方形阶梯 通过 python 的turtle 库绘制正方形阶梯&#xff0c;如下图&#xff1a; 2、实现代码 绘制正方形阶梯&#xff0c;以下为实现代码&#xff1a; """正方形阶梯.py """ import turtledef draw_square(length):for _ in range(6…

Flutter函数

在Dart中&#xff0c;函数为 一等公民&#xff0c;可以作为参数对象传递&#xff0c;也可以作为返回值返回。 函数定义 // 返回值 (可以不写返回值&#xff0c;但建议写)、函数名、参数列表 showMessage(String message) {//函数体print(message); }void showMessage(String m…