实验7

实验任务详情:

完成火车站售票程序的模拟。

要求:

  • (1)总票数1000张;
  • (2)10个窗口同时开始卖票;
  • (3)卖票过程延时1秒钟;
  • (4)不能出现一票多卖或卖出负数号票的情况。

实验过程

  1. package shiyan7;
  2. public class Mythread implements Runnable {
  3. private int ticket = 1000;
  4. public void run() {
  5. for(int i = 0;i < 1000;i ++) {
  6. synchronized(this) {
  7. if(ticket > 0) {
  8. try {
  9. Thread.sleep(1000);
  10. }catch(InterruptedException e) {
  11. e.printStackTrace();
  12. }
  13. System.out.println(Thread.currentThread().getName()+"卖票:"+ticket--);
  14. }
  15. }
  16. }
  17. }
  18. }
  19. package shiyan7;
  20. public class Maipiaoge {
  21. public static void main(String args[]) {
  22. Mythread mp = new Mythread();
  23. for(int i = 1;i < 11;i ++) {
  24. Thread xc[] = new Thread[11];
  25. xc[i] = new Thread(mp,"买票窗口" + i);
  26. xc[i].start();
  27. }
  28. }
  29. }

实现结果



因等一秒要点时间,所以这个截屏没有等。

实验总结

本次实验让我知道了多线程的作用,并且初步实现了多线程,更加熟练的使用多线程

第九周总结

本周主要学习了,线程的几种状态,线程的操作及其方法,Java的IOName()方法设置线程名字,可以允许线程同名,但应该避免这种事情发生,如果没有设置线程名称那么系统会默认设置一个名字为Thread-Xx。

Java中用isAliva()来判断线程是否启动并且还在运行。

Java中可以用join()方法让一个线程强制运行,并且这个期间,其他线程只能等,不能运行。

用Thread.sleep()让线程休眠,用interrupt()方法中断线程用setDaemon()方法让线程在后台运行。

线程的优先级

但并不是线程的优先级越高,就一定会先执行,那个线程先执行还是由CPU来调度。

线程的礼让,可以用yield()方法将一个线程的操作暂时让给其它线程执行,但并不是一定会让,还是由CPU决定。

JavaIO

file类,与文件本身有关的类,可以用它,新建文件,删除文件等操作。



可以用createNewFile()创建文件,但是windows是反斜杠分隔,linux用正斜杠分隔,所以一般用Java提供的两个常量pathSeparator,setparator

用delete()方法删除文件。exists()判断文件是否存在

用mkdir()方法创建文件夹,用public String[] list():列出全部名称,public File listFiles():列出完整路径。

RandomAccessFile类,对文件内容进行操作。

第九周总结&第七次实验报告的更多相关文章

  1. 第七周总结&第五次实验报告

    学习总结 这周我们加深了对抽象类与接口的学习,获得的知识点也比上周多了许多,抽象类与接口很相似,就比如别人还没有做完的是交给你来做,而他那些样式都做好了,你只需要完善即可 但也有不同点. 区别点 抽象 ...

  2. 2019JAVA第七次实验报告

    Java实验报告 班级 计科二班 学号 20188442 姓名 吴怡君 完成时间 2019.10.25 评分等级 实验任务详情: 完成火车站售票程序的模拟. 要求: (1)总票数1000张: (2)1 ...

  3. 第六周总结&第四次实验报告

    实验四 类的继承 一. 实验目的 (1) 掌握类的继承方法: (2) 变量的继承和覆盖,方法的继承.重载和覆盖实现: 二. 实验内容 三.实验过程 实验代码 package Shiyan4; publ ...

  4. 第五周总结&第三次实验报告

    实验三 String类的应用 实验目的 掌握类String类的使用: 学会使用JDK帮助文档: 实验内容 1.已知字符串:"this is a test of java".按要求执 ...

  5. 第九周课程总结 & 实验报告(七)

    第九周课程总结 一.多线程 1.线程的状态 2.线程操作的相关方法 二.Java IO 1.操作文件的类---File ()基本介绍 ()使用File类操作文件 .RandomAccessFile类 ...

  6. 第九周学习总结&实验报告七

    实验报告: 实验任务详情: 完成火车站售票程序的模拟. 要求: (1)总票数1000张: (2)10个窗口同时开始卖票: (3)卖票过程延时1秒钟: (4)不能出现一票多卖或卖出负数号票的情况. 实验 ...

  7. JAVA实验报告及第九周总结

    Java第九周作业 实验报告七 实验任务详情: 完成火车站售票程序的模拟. 要求: (1)总票数1000张: (2)10个窗口同时开始卖票: (3)卖票过程延时1秒钟: (4)不能出现一票多卖或卖出负 ...

  8. 第七周课程总结 & 实验报告(五)

    第七周课程总结 一.抽象类与接口的应用 1.实例化 2.实际应用 ---模板设计(抽象类) ---制定标准(接口) 3.设计模式 ---工厂设计 ---代理设计 ---适配器设计 二.抽象类与接口之间 ...

  9. 第七周&实验报告五

    实验四 类的继承 •实验目的 •理解抽象类与接口的使用: •了解包的作用,掌握包的设计方法. •实验要求 •掌握使用抽象类的方法. •掌握使用系统接口的技术和创建自定义接口的方法. •了解 Java ...

随机推荐

  1. Xshell6-项目使用

    前端开发中,涉及服务器的地方一般都交给后端处理,这样有时候很不方便,所以,自己来上传服务器是非常爽的啦 工具: Xshell6 传送门: http://www.netsarang.com/produc ...

  2. 【react学习一】首先先create-react-app 配置less、sass

    1.安装初始化 npm create-react-app react-demo 2.安装初始化 npm run eject 3.配置sass / less cnpm i sass-loader nod ...

  3. 【转】js监听浏览器离开页面操作

    [转]https://www.cnblogs.com/slly/p/7991474.html 序言 大家是否经常遇到在关闭网页的时候,会看到一个确定是否离开当前页面的提示框?想一些在线测试系统.信息录 ...

  4. thinkphp5杂谈--模板

    一种新型开源模板   http://www.h-ui.net/H-ui.admin.shtml 下载页面代码 除了curl以外还可以借助  仿站小工具V7.0,操作示意图

  5. 【SaltStack官方版】—— MANAGING THE JOB CACHE

    MANAGING THE JOB CACHE The Salt Master maintains a job cache of all job executions which can be quer ...

  6. SqlServer 随机生成中文姓名(转)

    ,) )) -- 姓氏 ,) )) -- 名字 INSERT @fName VALUES ('赵'),('钱'),('孙'),('李'),('周'),('吴'),('郑'),('王'),('冯'),( ...

  7. 【javascript】生成二维码

    1 <!DOCTYPE html> 2 <html> 3 <head> 4 <meta charset="UTF-8"> 5 < ...

  8. 奇怪的 Markdown / LaTeX 笔记

    记一下日常见到的一些奇怪的 Markdown / LaTeX 用法... Markdown LaTeX LaTeX 数学 1. 运算符 1.1 造运算符: a \operatorname{sin} c ...

  9. Shoi2017试题泛做

    一口气做完六个省的省选(误) Day1 [Shoi2017]期末考试 枚举最大的天数,然后代价贪心地O(1)计算. #include <cstdio> #include <algor ...

  10. Mysql安装及用简单用法

    Mysql安装和初始化 初见: Mysql软件 - 服务端软件 - 服务端程序 - 解析指令 - 对文件的操作 - 客户端软件 - 客户端程序 - 发送指令(sql语句) - 解析指令 其他类似软件: ...